i
LAPORAN TUGAS AKHIR
CLUSTERING DATA STOCK DAN MARKET BASKET
ANALYSIS UNTUK PERENCANAAN PENJUALAN
BERBASIS K-MEANS DAN FUZZY C-COVERING PADA
INSHOFMART
Disusun Oleh:
Nama
:Lina Rudianti
NIM
:A12.2013.04949
Program Studi
:Sistem Informasi - S1
FAKULTAS ILMU KOMPUTER
UNIVERSITAS DIAN NUSWANTORO
SEMARANG
2017
ii
CLUSTERING DATA STOCK DAN MARKET BASKET
ANALYSIS UNTUK PERENCANAAN PENJUALAN BERBASIS
K-MEANS DAN FUZZY C-COVERING PADA INSHOFMART
Laporan ini disusun guna memenuhi salah satu syarat untuk menyelesaikanprogram studi Sistem Informasi S-1 pada Fakultas Ilmu Komputer Universitas Dian Nuswantoro
Disusun Oleh:
Nama
:Lina Rudianti
NIM
:A12.2013.04949
Program Studi
:Sistem Informasi - S1
HALAMAN JUDULFAKULTAS ILMU KOMPUTER
UNIVERSITAS DIAN NUSWANTORO
SEMARANG
2017
iii
NB: Silakan Download HalamaninidariSiadin, Tandatangani, dan Scan, lalusisipkanhasil scan padabagianini
iv
v
vi
NB: Silakan Download HalamaninidariSiadin, Tandatangani, dan Scan, lalusisipkanhasil scan padabagianini
vii
Maha Pengasih dan Maha Penyayang yang melimpahkan begitu tidak terhingga segala rahmat, hidayah, inayah, dan segala kebaikan-Nya kepada penulis sehingga dapat menyelesaikan laporan tugas akhir yang merupakan syarat kelulusan dari perguruan tinggi yang telah penulis tempuh selama 4 (empat) tahun dengan judul “Clustering Data Stock Dan Market Basket Analysis untuk Perencanaan Penjualan Berbasis K-Means dan Fuzzy C-Covering pada InshofMart.” Selain itu penulis juga begitu bersyukur telah dirahmati begitu banyak orang-orang yang senantiasa mendukung penulis dari awal kuliah di Universitas Dian Nuswantoro hingga dalam pembuatan tugas akhir ini. Oleh karena itu penulis menyampaikan terimakasih yang tidak bisa disebutkan satu-persatu, kepada :
1. Dr. Ir. Edi Noersasongko, M.Kom, selaku Bapak Rektor Universitas Dian Nuswantoro Semarang.
2. Dr. Abdul Syukur, selaku Dekan Fasilkom.
3. Affandy, Ph. D, selaku Ketua Progdi Sistem Informasi.
4. Amiq Fahmi, S. Kom., M.Kom., selaku dosen pembimbing tugas akhir yang telah memberi bimbingan, bantuan ide penelitian, dan selalu mengusahakan waktu terbaiknya setiap penulis ingin melakukan bimbingan.
5. Dosen-dosen pengampu di Fakultas Ilmu Komputer, Sistem Informasi – S1, Universitas Dian Nuswantoro yang telah memberikan ilmu dan pengalaman, sehingga penulis dapat mengimplementasikan ilmu yang telah disampaikan. 6. Ibu dan Bapak yang telah mengerahkan segala usaha agar penulis bisa sampai
pada tahap ini, juga Kakak yang selalu memberi dukungan dan motivasi, dan kedua keponakan kecil penulis yang selalu ikut menyenangkan hati penulis. 7. Saudara-saudara yang baik hati, yang memberikan izin untuk melakukan
8. Sahabat-sahabatku (Mekar, Purnamasari, Fathoni, Lanjar, Febri, Kim Nathan, Shellyn Dion, dan lainnya yang tidak dapat disebutkan satu-satu) yang selalu mendukung dan menemani di berbagai situasi selama menempuh pendidikan. Terimakasih sudah mau dan masih terus mau menjadi sahabat penulis.
9. Teman-teman seperjuangan yang telah berbagi suka dan dukanya dalam proses penyusunan tugas akhir ini.
10. Keluarga besar HM SISFO, terutama periode 2013/2014, periode 2014/2015, dan periode 2015/2016.
11. Dan semua pihak yang namanya tidak dapat disebutkan satu per satu oleh penulis yang telah berkontribusi dalam menyusun tugas akhir ini.
Semoga Tuhan yang Maha Kuasa senantiasa memberikan balasan yang lebih baik kepada beliau-beliau, dan pada akhirnya penulis berharap bahwa tulisan laporan tugas akhir ini dapat bermanfaat dan berguna sebagaimana fungsinya.
Semarang, 22 Juli 2017 Penulis
ix
dan menggunakan kelompok kategori dalam penataan rak-rak barang. Hal ini menyebabkan ketidaktepatan dalam menentukan stock yang sangat laku, laku, atau kurang laku, sehingga berdampak pada perencanaan stock kurang akurat, dan penataan rak barang kurang efektif bagi para pelanggan. Oleh masalah itu perlu dilakukan clustering item dalam tingkatan tertentu, juga mengasosiasikan antara suatu item dengan item lainnya sesuai keakuratan yang terukur, sehingga kegiatan penjualan lebih terencana dengan mengacu pada hasil perhitungan data-data yang lebih mengarah pada fakta dari lapangan. Dengan clustering yang lebih tepat menggunakan algoritma k-means dan market basket analysis dengan algoritma
fuzzy c-covering. Clustering menghasilkan output tentang perencanaan stock
produk di mana dari penelitian ditentukan 3 cluster dengan hasil 7 produk sangat laku, 28 produk laku, dan 15 produk kurang laku berdasarkan jarak antara data ke pusat cluster-nya. Sedangkan market basket analysis dari 96 data sample transaksi yang mempunyai minimal_support dan minimal_confidence memenuhi syarat yaitu terdapat 8 interesting association rule antara 2 produk (k item-2).
Kata kunci : Clustering, Market Basket Analysis, K-Means, Fuzzy C-Covering
xvii + 111 halaman; 27 gambar; 27 tabel; 8 lampiran Daftar Acuan: 5 (2012 – 2016)
x
Persetujuan Laporan Tugas Akhir ... iii
Pengesahan Dewan Penguji ... iv
Pernyataan Keaslian Tugas Akhir ... v
PernyataanPersetujuan Publikasi Karya Ilmiah Untuk Kepentingan Akademis ... vi
Ucapan Terimakasih ... vii
Abstrak ... ix
Daftar Isi ... x
Daftar Gambar... xiii
Daftar Tabel ... xv
Daftar Lampiran ... xvii
Bab 1 Pendahuluan ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 4
1.3 Batasan Masalah ... 4
1.4 Tujuan Penelitian ... 5
1.5 Manfaat Penelitian ... 5
Bab 2 TINJAUAN PUSTAKA ... 6
2.1 Tinjauan Pustaka ... 6
2.2 Data Mining ... 9
2.2.1 Konsep Data Mining ... 9
2.2.2 Konsep Clustering ... 11
2.2.3 Konsep Market Basket Analysis ... 13
2.3 Algoritma K-Means ... 14
2.3.1 Konsep K-Means ... 14
2.4 Algoritma Fuzzy C-Covering ... 17
2.4.1 Konsep Fuzzy C-Covering ... 17
2.4.2 Proses Algoritma Fuzzy C-Covering ... 18
2.5 CRISP-DM (Cross Industry Standard Process For Data Mining) ... 20
2.5.1 Tentang CRISP-DM ... 20
2.5.2 Proses CRISP-DM ... 21
2.6 Aplikasi Pendukung Pemodelan ... 23
2.6.1 RapidMiner Versi 5.3.015 ... 23
2.6.2 Microsoft Visual Basic Versi 6.0 ... 23
Bab 3 METODE PENELITIAN ... 24
3.1 Metode Pengumpulan Data ... 24
3.2 Metode Analisis ... 27
3.2.1 CRISP-DM (Cross Industry Standard Process For Data Mining). 27 3.2.2 Metode Clustering Menggunakan K-Means ... 28
3.2.3 Metode Market Basket Analysis Menggunakan Fuzzy C-Covering 29 Bab 4 HASIL DAN PEMBAHASAN ... 31
4.1 Hasil Penelitian ... 31
4.1.1 Business Understanding ... 31
4.1.2 Data Understanding ... 33
4.1.3 Data Preparation ... 36
4.1.4 Modelling ... 40
4.2 Analisa Model dengan Aplikasi Pendukung ... 75
4.2.1 Perhitungan K-Means dengan Bantuan RapidMiner Versi 5.3.015 75 4.2.2 Perhitungan Fuzzy C-Covering dengan Implementasi Algoritma ke dalam Aplikasi Microsoft Visual Basic 6.0 ... 79
4.3.1 Pembahasan Hasil Clustering Berbasis K-Means ... 82
4.3.2 Pembahasan Hasil Market Basket Analysis Berbasis Fuzzy C-Covering ... 85 Bab 5 PENUTUP ... 88 5.1 Simpulan ... 88 5.2 Saran ... 89 DAFTAR PUSTAKA ... 90 LAMPIRAN ... 92
xiii
Gambar 4.1 Atribut Tabel Data Stock ... 34
Gambar 4.2 Atribut Tabel Data Transaksi ... 35
Gambar 4.3 Nilai Data Pada Tabel Data Stock ... 35
Gambar 4.4 Nilai Data Pada Tabel Data Transaksi ... 35
Gambar 4.5 Item tanpa Kode Produksi ... 36
Gambar 4.6 Tidak Adanya Kode Transaksi ... 36
Gambar 4.7 Mencari Total Transaksi dan Volume Jual ... 37
Gambar 4.8 Integrasi Atribut Jumlah Transaksi, Volume Jual, Rataan Jual ... 38
Gambar 4.9 Penambahan Atribut Kode Produksi ... 38
Gambar 4.10 Penambahan Atribut Kode Transaksi... 39
Gambar 4.11 Format Tabel Data Stock ... 39
Gambar 4.12 Format Tabel Data Transaksi ... 39
Gambar 4.13 Data Set Clustering pada RapidMiner ... 75
Gambar 4.14 Pemodelan Algoritma K-Means ... 76
Gambar 4.15 Halaman Main Process Clustering ... 76
Gambar 4.16 Tabel Data Hasil Proses Clustering ... 77
Gambar 4.17 Cluster Model pada RapidMiner ... 77
Gambar 4.18 Titik Pusat Cluster yang Terbentuk ... 78
Gambar 4.19 Plot View Hasil Clustering ... 78
Gambar 4.20 Halaman Utama / Menu Aplikasi Fuzzy C-Covering ... 79
Gambar 4.22 Data Transaksi yang Berhasil Diinput ... 80
Gambar 4.23 Halaman Tabel Master Produk... 81
Gambar 4.24 Halaman Tabel Hasil Proses ... 81
Gambar 4.25 Denah Rak-rak Barang Sebelum Rekomendasi ... 86
xv
Tabel 3.1 Sampel Data Pada Tabel Stock ... 26
Tabel 3.2 Sampel Data Pada Tabel Transaksi... 26
Tabel 4.1 Entitas (Kategori Produk) Pada Tabel Data Stock ... 34
Tabel 4.2 Data Sampel Perhitungan K-Means Manual pada Iterasi ke-1 ... 40
Tabel 4.3 Titik Pusat Cluster (Centroid) ... 42
Tabel 4.4 Hasil Perhitungan K-Means pada Iterasi ke-1 ... 46
Tabel 4.5 Titik Pusat Cluster Baru dari Iterasi ke-1 ... 50
Tabel 4.6 Hasil Perhitungan K-Means pada Iterasi ke-2 ... 53
Tabel 4.7 Titik Pusat Cluster Baru dari Iterasi ke-2 ... 56
Tabel 4.8 Hasil Perhitungan K-Means pada Iterasi ke-4 ... 57
Tabel 4.9 Titik Pusat Cluster Akhir pada Iterasi ke-4 ... 58
Tabel 4.10 Nilai Terbesar (Himpunan Sangat Laku) pada Cluster 2... 59
Tabel 4.11 Nilai Sedang (Himpunan Laku) pada Cluster 1 ... 59
Tabel 4.12 Nilai Paling Kecil (Himpunan Kurang Laku) pada Cluster 0... 60
Tabel 4.13 Data Sampel Perhitungan Fuzzy C-Covering secara Manual ... 61
Tabel 4.14 Tabel Data yang Masuk QT (Qualified Transaction) ... 63
Tabel 4.15 Tabel Hasil Perhitungan Mencari Minimum_ Support_1 ... 67
Tabel 4.16 Tabel Item yang memenuhi minimum_ support_1... 68
Tabel 4.17 Tabel Item yang akan Dicari Minimum_ Support_2 ... 69
Tabel 4.18 Tabel Hasil Perhitungan Mencari Minimum_ Support_2 ... 70
Tabel 4.20 Tabel Item yang Memenuhi Confidence ... 74
Tabel 4.21 Nilai Terbesar (Himpunan Sangat Laku) pada Cluster 2... 82
Tabel 4.22 Nilai Sedang (Himpunan Laku) pada Cluster 1 ... 82
Tabel 4.23 Nilai Paling Kecil (Himpunan Kurang Laku) pada Cluster 0... 83
xvii
Lampiran 2. Surat Keterangan ... 93
Lampiran 3. Tabel Data Stock ... 94
Lampiran 4. Tabel Data Transaksi ... 99
Lampiran 5. Lampiran Total Data Kategori Produk ... 108
Lampiran 6. Lampiran Total Data Nama Produk ... 109
Lampiran 7. Lampiran Total Data Tanggal (Jumlah) terjadi Transaksi ... 110
1 1.1 Latar Belakang Masalah
Menurut analisa dari Ketua Umum Asosiasi Pengusaha Ritel Indonesia (Aprindo), menyatakan total penjualan ritel tahun 2015 sebesar Rp 181 triliun dan meningkat tahun 2016 menembus Rp 200 triliun [1]. Dan diprediksi pada tahun 2017, penjualan sektor ritel akan melebihi tahun 2016. Hal ini memicu beberapa pelaku bisnis ingin menanamkan modal di bidang ritel yang terlihat berkembang pesat dan menimbulkan asumsi menghasilkan banyak untung. Jumlah gerai minimarket menurut Badan Pusat Statistik (BPS), tahun 2014 berjumlah 11.468 toko. Indomaret saja di awal 2016 sudah 12.100 gerai sedangkan alfamart 11.115 gerai / Juni 2016 [2]. Itu belum yang di luar bisnis waralaba. Hal tersebut seperti membuktikan bahwa ritel memang bisnis yang sangat menjanjikan, meski tidak semuanya sukses. Ada yang gulung tikar karena tidak mampu bersaing, terutama yang tidak memperhatikan kelola toko.
InshofMart merupakan minimarket beralamatkan di desa Plesungan, Gondangrejo, Kota Karanganyar. Dari segi lokasi, InshofMart terletak di wilayah yang bagus untuk mendirikan minimarket. Meski perkampungan, tapi peradaban di wilayah tersebut akan terus berkembang. Pertama, InshofMart adalah minimarket kerja sama dengan pondok pesantren yang semakin tahun santri-santrinya bertambah. Kedua, pondok pesantren tersebut rutin mengadakan event-event akbar tiap bulan, bahkan bisa 2 kali dalam satu bulan. Dan tamu-tamu yang hadir, datang dari berbagai wilayah bahkan luar provinsi Jawa Tengah, yang bisa mencapai ribuan tamu. Sehingga tamu-tamu tersebut merupakan target InshofMart juga. Ketiga, pengusaha property ada yang beberapa telah menyelesaikan dan ada yang dalam tahap pembangunan perumahan di sekitarnya. Hal ini turut menjadi pendukung semakin meningkatnya pangsa pasar InshofMart. Dan yang terakhir juga paling penting, InshofMart belum mempunyai saingan ampuh sekelas Indomaret atau
alfamart karena kedua minimarket kelas atas itu belum ada tanda-tanda masuk ke wilayah tersebut, meski suatu saat bisa saja terjadi. Karena dilihat dari regulasi pemerintah Kota Karanganyar yang mengizinkan adanya minimarket modern berdiri di wilayahnya, meski hal itu dibatasi dan dengan syarat-syarat tertentu. Saat ini InshofMart bisa bersantai karena belum punya saingan, namun lebih baik bersiap menghadapi kemungkinan tersebut. Dibutuhkan beberapa hal agar dapat mengoptimalkan penjualan, yang itu perlu dilakukan mulai saat ini sebelum para pesaing berdatangan. Menurut sebuah postingan website menjelaskan ada 5 kunci sukses dalam bisnis minimarket yang salah satunya adalah penggunaan teknologi sehingga mampu membantu menyelesaikan masalah [3]. Penggunaan teknologi di InshofMart sebenarnya bagus, dengan sistem informasi minimarket yang memuat tabel-tabel seperti tabel pengendalian stock dan tabel transaksi yang mana paling diperhatikan dalam penelitian kali ini karena data-data tersebut dapat diolah. Dan saat ini, InshofMart belum tahu jika data tersebut ternyata dapat diolah untuk tujuan bermanfaat. Seperti tabel pengendalian stock hanya untuk mengetahui stock barang habis dan jumlah terjual tanpa tahu item-item yang berpotensi laku. Sehingga jika stock habis, pegawai memesan sejumlah barang sesuai instinct tanpa analisa apakah jika dibeli sedikit cepat habis (akan membuang kesempatan untung jika ada pembeli tapi stock habis) atau jika dibeli banyak, barang kurang laku mengakibatkan biaya simpan tinggi. Belum lagi jika barang tidak tahan lama atau cepat kadaluwarsa. Kemudian untuk tabel transaksi saat ini hanya untuk mengetahui berapa kali transaksi dilakukan. Padahal data-data yang terlihat tidak ada artinya (hanya deret item terjual dan total terbeli).
Untuk menangani masalah perencanaan penjualan pada InshofMart, perlu metode yang bisa meng-cluster tabel stock penjualan dan market basket analysis tabel transaksi, sehingga diketahui item-item apa yang sering dibeli bersamaan. Dalam menyelesaikan masalah tersebut khususnya clustering, ada banyak algoritma yang dapat digunakan seperti yang berlogika fuzzy atau crisp. Tapi dalam penelitian ini akan digunakan logika crisp yang hasil cluster-nya lebih tegas dari pada logika
konsep clustering yang tegas yang hanya menghasilkan 2 kemungkinan keluaran yaitu tidak atau iya. Berbeda dengan logika fuzzy yang keluarannya kurang tegas dan memungkinkan sebuah item masuk ke 2 himpunan, yaitu ke himpunan sangat laku atau laku, dan laku atau kurang laku. Tergantung besar nilai keanggotaannya, lebih berat ke mana. Hal ini mengakibatkan kebingungan akan masuk ke dalam kategori apa suatu produk, apalagi data-data penjualan yang dimiliki InshofMart hampir sama jumlah-jumlahnya. Sehingga jika ada 2 data dengan total penjualan yang sama, satunya dapat masuk ke himpunan laku dan satunya kurang laku atau sebagainya yang membuat justru kurang konsistennya hasil clustering. Maka dari itu untuk clustering, dalam kasus ini akan diselesaikan menggunakan k-means. Kemudian untuk association rule diselesaikan dengan algoritma fuzzy c-covering. Sebenarnya yang sering digunakan adalah apriori, namun boros memori dan butuh banyak waktu scanning data. Ini karena apriori melakukan scanning
database tiap iterasi, sedangkan iterasinya tidak cukup sekali dua kali. Kelemahan
lain, cenderung fokus pada hubungan antar item tanpa pertimbangan hubungan setiap item di setiap transaksi. Misal mencari relasi antara kopi dan roti, apriori hanya menghitung berapa kali kedua item muncul dari seluruh transaksi yang ada. Padahal meski keduanya banyak dibeli, tapi sebenarnya dipicu item lain. Misalnya pembelian kopi dipicu pembelian rokok, sehingga hasil kurang akurat. Untuk itu diajukan fuzzy c-covering, untuk memperbaiki kekurangan apriori. Proses awal
fuzzy c-covering adalah menentukan max_item_threshold, sehingga jumlah item
melebihi max_item_threshold tidak perlu ikut di proses berikutnya. Dengan proses tersebut, waktu eksekusi lebih cepat dan mengurangi pemborosan memori.
Sehingga seperti yang sudah dijelaskan tentang masalah InshofMart yang belum mengoptimalkan pengelolaan data-data mereka menjadi sebuah pengetahuan yang berarti, yang masalah tersebut dapat berakibat pada kurang optimalnya penjualan. Untuk itu dilakukan penelitian yang bertujuan membantu InshofMart menemukan formula yang sesuai, untuk menghasilkan pengetahuan berarti yang bermanfaat sebagai strategi bisnis baru terutama dalam pengelolaan stock dan penataan rak-rak barang sehingga mampu membantu perencanaan penjualan pada InshofMart.
1.2 Rumusan Masalah
Berdasar dari latar belakang masalah sesuai penjelasan sebelumnya maka dapat dirumuskan berbagai masalah yang akan dibahas, diantaranya yaitu :
1. Bagaimana algoritma untuk meng-cluster item apa saja pada tabel data stock yang masuk dalam himpunan sangat laku, laku, dan kurang laku dan dalam melakukan penelitian ini akan menggunakan algoritma k-means.
2. Bagaimana algoritma untuk market basket analysis antar item pada tabel data transaksi yang menghasilkan nilai aosisasi paling tinggi dan dalam penelitian ini akan digunakan algoritma fuzzy c-covering.
1.3 Batasan Masalah
Agar pembahasan masalah yang dilakukan tidak meluas sehingga menimbulkan ketidakfokusan materi, maka penulis menentukan batasan-batasan masalah yaitu : 1. Data-data yang diolah untuk proses clustering dan market basket analysis
merupakan data-data pengendalian stock barang dan transaksi mulai tanggal 01 November 2016 s/d 31 Maret 2017 (studi kasus Minimarket InshofMart Dukuh Sulurejo, Plesungan, Kecamatan Gondangrejo, Kota Karanganyar). 2. Dalam melakukan proses clustering digunakan algoritma k-means yang akan
mengelompokkan item-item menjadi 3 (tiga) cluster, yang akan menghasilkan kriteria antara sangat laku, laku, atau kurang laku. Sedangkan untuk proses
market basket analysis akan digunakan algoritma fuzzy c-covering.
3. Metodologi yang digunakan di dalam menyusun fase pengolahan data mining adalah CRISP-DM (Cross Industry Standard Process For Data Mining), dan hanya beberapa sub-sub fasenya yang dilakukan analisa.
4. Pengujian clustering menggunakan algoritma k-means akan didukung dengan bantuan aplikasi yang sudah ada yaitu RapidMiner versi 5.3.015.
5. Pengujian market basket analysis menggunakan algoritma fuzzy c-covering akan didukung dengan bantuan rancangan aplikasi sederhana menggunakan
1.4 Tujuan Penelitian
Berdasar pada rumusan masalah sesuai penjelasan pada poin sebelumnya, didapat tujuan penelitian ini diantaranya yaitu :
1. Penerapan algoritma k-means yang bertujuan membantu InshofMart dalam penentuan jumlah stock barang dengan mengelompokkan item apa saja yang masuk ke dalam himpunan sangat laku, laku, atau kurang laku.
2. Penerapan algoritma fuzzy c-covering yang bertujuan untuk membantu InshofMart menemukan pola association rule antar item barang sehingga hasilnya dapat digunakan untuk perencanaan penataan rak-rak barang.
1.5 Manfaat Penelitian
Harapan penulis bahwa penelitian yang dilakukan ini berguna, tidak hanya bagi InshofMart selaku objek penelitian tetapi siapa pun yang ingin memanfaatkan penelitian ini untuk kepentingan yang bermanfaat. Berikut manfaat penelitian : 1. Diharapkan algoritma k-means berguna untuk menyelesaikan berbagai
masalah clustering di berbagai bidang kehidupan. Terutama pada penelitian ini, dapat membantu InshofMart dalam menentukan stock item-item dengan mengelompokkan ke dalam himpunan sangat laku, laku, atau kurang laku. 2. Diharap algoritma fuzzy c-covering berguna untuk menyelesaikan berbagai
masalah association rule di berbagai bidang kehidupan. Terutama penelitian ini, dapat membantu InshofMart menemukan pola association rule antar
6 2.1 Tinjauan Pustaka
Penelitian terkait data mining untuk clustering maupun market basket analysis sudah banyak dilakukan sebelumnya oleh beberapa peneliti dari berbagai instansi, terutama yang berobjek di minimarket dan menggunakan metode k-means untuk
clustering stock barang dan metode fuzzy c-covering untuk market basket analysis.
Berikut ini adalah beberapa penelitian yang menggunakan metode k-means untuk
clustering dan fuzzy c-covering untuk market basket analysis :
1. Penelitian yang dilakukan tahun 2012 oleh Zahedi dan juga Charies Chandra, yang berjudul “Perancangan Program Aplikasi Market Basket Analysis Untuk Mendukung Persediaan Barang Dengan Metode Fuzzy C-Covering.”
Pada penelitian tersebut, para peneliti mengusung masalah tentang sulitnya menganalisa data transaksi penjualan karena jumlah datanya banyak dan alat pengolah data terbatas yang menyulitkan memperkirakan persediaan barang untuk penjualan berikutnya. Untuk itu dirancangkan aplikasi market basket
analysis berbasis fuzzy c-covering. Nilai support dan confidence merupakan
bagian perhitungan dengan fuzzy c-covering. Semakin besar tingkat batasan,
output dari analisis pun semakin terseleksi [4].
2. Penelitian yang dilakukan pada tahun 2016 oleh Nita Arianty, Oni Soesanto, dan Fatma Indriani, berjudul “Penerapan Metode Fuzzy c-Covering Untuk Analisis Pola Pembelian Pada Minimarket.”
Pada penelitian tersebut, peneliti mengusung masalah tentang proses data
mining pada analisa pola pembelian di minimarket berbasis fuzzy c-covering
untuk mencari nilai support dan nilai confidence. Metode fuzzy c-covering ini akan mengklasifikasi elemen-elemen himpunan universal yakni keseluruhan
item pada minimarket menjadi partisi-partisi yang lebih fokus dan detail
diterapkan agar dapat mengatasi hambatan yang selama ini terjadi pada proses market basket di dalam mencari hubungan antar item [5].
3. Penelitian yang dilakukan pada tahun 2015 oleh Benri Melpa Metisen dan Herlina Latipa Sari, berjudul “Analisis Clustering Menggunakan Metode K-
Means Dalam Pengelompokkan Penjualan Produk Pada Swalayan Fadhila.”
Pada penelitian tersebut, para peneliti mengusung masalah tentang swalayan Fadhila yang bisnisnya masih dengan cara manual sehingga sering terjadi kesalahan pencatatan data. Selain itu juga tidak dapat mengelompokkan produk antara yang laris atau kurang laku, sehingga sulit menentukan stock. Untuk itu dibutuhkan sistem clustering yang mana menggunakan algoritma
k-means agar dapat menunjang kebutuhan bisnis dari proses tersebut [6].
4. Penelitian yang masuk di dalam sebuah proceedings Seminar Nasional Riset Ilmu Komputer Universitas Muslim Indonesia Makassar tahun 2016, dengan peneliti Warnia Nengsih berjudul “Descriptive Modelling Menggunakan
K-Means untuk Pengclusteran Tingkat Kemiskinan di Propinsi Riau.”
Penelitian tersebut membahas tentang kemiskinan Propinsi Riau yang terus meningkat sehingga perlu ditangani oleh pemerintah. Namun karena adanya persebaran daerah tingkat keparahan kemiskinan sangat beragam, sehingga terjadi kesulitan menentukan wilayah mana yang kemiskinan paling tinggi. Untuk itu diperlukan metode k-means yang mampu meng-cluster wilayah-wilayah tersebut masuk ke dalam tingkat kemiskinan yang mana [7].
5. Penelitian yang dilakukan pada tahun 2015 oleh Elly Muningsih dan Sri Kiswati, berjudul “Penerapan Metode K-Means untuk Clustering Produk
Online Shop dalam Penentuan Stok Barang.”
Penelitian tersebut, para peneliti mengusung masalah tentang bagaimana permintaan konsumen yang fluktuatif sehingga persediaan stock yang tidak stabil. Pada online shop tersebut ada beberapa kesulitan yang dialami seperti menentukan stock minimun tiap barang, yang harus dipenuhi sesuai minat konsumen. Untuk menangani masalah tersebut, diperlukan sebuah metode yang dapat mengelompokkan tingkat stock barang yang banyak, sedang, atau sedikit menggunakan algoritma k-means clustering [8].
Tabel 2.1 Penelitian Terkait
No Nama Peneliti
dan Tahun Masalah Metode Hasil
1. - Zahedi - Charies
Chandra (Tahun 2012)
Menganalisa data transaksi penjualan yang banyak dan alat pengolah data terbatas sehingga menyulitkan memperkirakan persediaan barang dijual berikutnya.
Fuzzy C-Covering
Program aplikasi yang digunakan perusahaan melakukan analisa data guna memperkirakan persediaan barang untuk masa mendatang [4]. 2. - Nita Arianty
- Oni Soesanto - Fatma Indriani
(Tahun 2016)
Klasifikasi elemen dari himpunan keseluruhan item menjadi partisi yang lebih fokus, detail berdasar jenis
item agar mengatasi proses market basket di dalam
mencari asosiasi antar item.
Fuzzy C-Covering
Dari data sampel, nilai
confidence paling tinggi
adalah “jika peralatan bayi maka susu” (support = 1,13181% dan confidence = 38,70967%) [5]. 3. - Benri Melpa Metisen - Herlina Latipa Sari (Tahun 2015)
Analisa data clustering produk untuk mengatasi kesulitan penentuan tingkat
stock barang, sekaligus
merancang sistem aplikasi pendukung clustering-nya.
K-Means Dari data sampel didapat
2 jenis kelompok data, yaitu dengan penjualan rendah dan tinggi. Sehingga diketahu mana produk laris / tidak [6]. 4. - Warnia Nengsih
(Tahun 2016)
Analisa wilayah persebaran tingkat kemiskinan yang terjadi di Propinsi Riau yang sangat beragam, perlu dilakukan clustering untuk mengetahui tingkatannya.
K-Means Dari 12 kecamatan yang
di-cluster, didapatkan 3 kelompok cluster dimana
cluster 2 terdapat ada 2 record, cluster 3 ada 10 record, sedang cluster 1
No Nama Peneliti
dan Tahun Masalah Metode Hasil
5. - Elly Muningsih - Sri Kiswati
(Tahun 2015)
Terjadinya kesulitan online
shop dalam menentukan stock minimum tiap barang
sesuai minat konsumen, sehingga sering terjadinya kesalahan perkiraan atau
stock yang tidak akurat.
K-Means Rancangan aplikasi yang
dapat mengelompokkan produk menjadi 3 cluter dengan kategori stock banyak, sedang, dan sedikit berdasarkan pada transaksi penjualan [8].
Dari beberapa penelitian yang sudah dicantumkan di atas, dapat diketahui bahwa penggunaan algoritma k-means dapat memudahkan dalam melakukan clustering terhadap ribuan bahkan jutaan data sehingga diperoleh informasi yang mulanya tidak nampak menjadi nampak yang dapat digunakan untuk menindaklanjuti suatu penyelesaian masalah. Sedangkan untuk penggunaan algoritma fuzzy c-covering dapat memudahkan dalam mencari association rule antar item, mana item paling sering keluar secara bersamaan di suatu transaksi dari banyaknya transaksi yang pernah terjadi atau sering dikenal dengan analisa keranjang belanja.
2.2 Data Mining
2.2.1 Konsep Data Mining
Ada banyak buku membahas tentang data mining, dan setiap penulis mempunyai definisinya masing-masing. Seperti buku yang ditulis oleh Gordon S. Linoff dan Michael J. A. Berry berjudul “Data Mining Techniques For Marketing, Sales, and
Customer Relationship Management”, mendefinisikan tentang data mining adalah
sebuah proses bisnis untuk mengeksplorasi data-data yang berjumlah besar untuk menemukan pola dan kaidah berarti [9]. Definisi lain tentang data mining dalam buku yang ditulis oleh Charu C. Aggarwal berjudul “Data Mining The Textbook”, mendefinisikan bahwa data mining merupakan pembelajaran dari mengoleksi, membersihkan, menganalisa, dan memperoleh beberapa pengetahuan yang sangat
berguna dari data [10]. Sedangkan definisi menurut Ian H. Witten dan kawan-kawan dalam bukunya yang berjudul “Data Mining Practical Machine Learning
Tools and Techniques”, mendefinisikan data mining adalah kegiatan menemukan
pola-pola dari banyak data. Proses harus otomatis atau semiotomatis. Pola yang ditemukan harus berarti karena menghasilkan beberapa keuntungan [11].
Dilihat dari beberapa definisi tentang data mining yang telah dijelaskan oleh para penulis dalam buku-buku mereka, sebenarnya mempunyai maksud sama. Bahwa
data mining merupakan proses mengeksplorasi data berjumlah besar untuk dicari
pola-polanya sehingga menjadi pengetahuan yang mempunyai arti dan berguna. Secara garis besarnya tentang metode, data mining dibedakan dalam 2 pendekatan diantaranya Supervised Learning yaitu metode yang mencoba mencari hubungan antara atribut yang bervariable bebas dan sebuah atribut bervariabel tidak bebas. Hubungan dapat ditemukan dan diwakili dalam struktur yang disebut model. Biasanya model menjelaskan fenomena tersembunyi dalam dataset dan digunakan untuk memprediksi nilai atribut target hanya dengan mengetahui nilai-nilai atribut
input [12]. Sedangkan Unsupervised Learning yaitu kebalikan dari supervised learning, di mana label masing-masing data pelatihan tidak diketahui sebelumnya.
Berdasarkan pada tugas yang dapat dilakukan oleh data mining untuk mencari pola-pola data, dibedakan menjadi beberapa kelompok yaitu [13] :
1. Description, merupakan penggambaran pola dan kecenderungan yang ada di dalam data secara sederhana. Deskripsi tersebut sering memberi kemungkinan penggambaran untuk sebuah pola atau kecenderungan.
2. Classification, teknik memperhatikan tingkah laku dan atribut himpunan yang sudah didefinisikan. Teknik ini memberi klasifikasi untuk data baru dengan manipulasi data yang telah terklasifikasi dan output-nya berguna memberikan sejumlah aturan. Dalam kasusnya, klasifikasi merupakan supervised learning. 3. Prediction, hampir sama seperti klasifikasi dan estimasi. Namun nilai output prediksi akan adanya di masa mendatang. Beberapa teknik untuk klasifikasi juga estimasi bisa digunakan (dalam keadaan tepat) di dalam prediksi. Dalam kasusnya, prediksi merupakan supervised learning.
4. Estimation, hampir mirip klasifikasi. Namun variabel targetnya lebih bersifat numerik daripada kategori. Model dibangun berdasarkan record lengkap yang menyediakan nilai dari variabel target sebagai nilai prediksi. Dalam kasusnya, estimasi merupakan supervised learning.
5. Clustering, adalah pengelompokan record atau pengamatan juga menciptakan kelas objek-objek yang ada kemiripan antara satu dengan lain dan memiliki ketidakmiripan dengan record dari cluster lain. Pada kasusnya, clustering merupakan unsupervised learning.
6. Association Rule, tugas asosiasi yang disebut juga “market basket analysis” adalah mencari relasi antara himpunan item dan menemukan atribut yang sering muncul dalam satu waktu dari banyak waktu yang pernah terjadi. Dalam kasusnya, asosiasi menggunakan metode unsupervised learning. 2.2.2 Konsep Clustering
Clustering merupakan proses melakukan partisi atau pemisahan satu set item data
ke himpunan bagian yang disebut cluster. Item yang dalam cluster-nya memiliki karakteristik hampir sama antara satu dengan yang lain dan akan berbeda dengan
item dalam cluster lain. Partisi tidak dilakukan secara manual karena pasti akan
sulit mengingat banyaknya data yang akan dipartisi, sehingga dibutuhkan suatu algoritma clustering. Oleh karena itu, clustering sangat berguna terlebih dalam menemukan kelompok yang tidak dikenal dalam data. Di bussniness inteligence khususnya minimarket, clustering membantu mengatur banyaknya item barang yang dijual menjadi beberapa kelompok. Contoh mengelompokkan item barang dalam beberapa cluster dengan kesamaan karakteristik seperti item barang mana yang kurang laku, laku, atau sangat laku. Clustering juga dikenal sebagai data segmentasi karena mempartisi banyak data ke banyak grup berdasar kesamaan. Berikut beberapa manfaat yang diberikan oleh proses clustering [14] :
1. Clustering adalah metode segmentasi data yang berguna dalam memprediksi dan menganalisa masalah bisnis tertentu, misalnya segmentasi pasar
2. Identifikasi objek dalam berbagai bidang penelitian seperti computer vision dan image processing.
Sebetulnya ada beberapa tipe clustering yang dapat digunakan dalam melakukan pengelompokkan data sesuai kebutuhan dan tujuan, berikut tipe-tipe clustering : 1. Partitioning algorithms, merupakan algoritma yang cara kerjanya membentuk
berbagai macam partisi lalu mengevaluasinya berdasarkan kriteria tertentu. 2. Hierarchial algorithms, merupakan algoritma yang membentuk dekomposisi
hirarki dari sekumpulan data menggunakan beberapa kriteria.
3. Density based, merupakan algoritma yang membentuk cluster berdasar pada koneksi dan fungsi densitas.
4. Grid-based, membentuk cluster berdasar struktur multiple level granularity. 5. Model-based, menganggap jika sebuah model adalah hipotesa untuk
masing-masing cluster dan model yang baik dipilih diantara model hipotesa tersebut. Dalam melakukan proses clustering pun ada syarat-syaratnya sekaligus tantangan yang harus dipenuhi oleh suatu algoritma clustering, menurut Jiawei Han dan Micheline Kamber di dalam bukunya yang berjudul “Data Mining Concepts And
Techniques” yang dijelaskan sebagai berikut [15] :
1. Skalabilitas, yang artinya mengharuskan bahwa suatu metode clustering harus mampu menangani data dalam jumlah yang besar bahkan sampai jutaan data. 2. Kemampuan analisa beragam bentuk data, yang artinya algoritma clustering
harus mampu diimplementasikan ke berbagai macam bentuk data seperti data nominal, ordinal maupun gabungannya.
3. Menemukan cluster dengan bentuk-bentuk yang tidak terduga, artinya hasil dari clustering dapat berbentuk aneh dan tidak sama antara satu data dengan lainnya. Karena itu butuh kemampuan analisa cluster dengan bentuk apapun pada suatu algoritma clustering.
4. Kemampuan untuk dapat menangani noise, yang artinya data itu tidak selalu dalam keadaan baik. Terkadang ada data rusak, tidak dimengerti, atau hilang. Karena itu, algoritma clustering harus mampu menangani data yang rusak. 5. Sensitifitas pada perubahan input, artinya perubahan input data menyebabkan
perubahan cluster yang ada bahkan menyebabkan perubahan mencolok jika menggunakan algoritma clustering yang memiliki tingkat sensitifitas rendah.
6. Mampu meng-clustering data-data berdimensi tinggi, artinya suatu kelompok data dapat berisi banyak dimensi atau atribut. Untuk itu algoritma clustering harus mampu menangani data berdimensi tinggi tersebut.
7. Interpresasi dan kegunaan, artinya mengharuskan bahwa hasil dari proses
clustering dapat diinterpretasikan dan juga berguna.
2.2.3 Konsep Market Basket Analysis
Association rule merupakan bentuk dari suatu formula jika “kejadian sebelumnya”
kemudian “konsekuensinya” (IF antecedent, THEN consequent). Association rule terkenal karena aplikasi analisa keranjang belanja, sehingga sering disebut market
basket analysis. Tugas association rule adalah mencari pola dari banyak data yang
ada yang mempunyai pola asosiasi antara dua atau lebih item. Dalam association
rule, terdapat ukuran keterkaitan yang didapat dari mengolah data menggunakan
proses hitung tertentu. Secara umum ada 2 ukuran tersebut, diantaranya :
1. Support, ukuran yang mempresentasikan besaran tingkat dominasi item atau
itemset dari seluruh transaksi untuk memutuskan apakah item itu layak dicari confidence-nya (misalnya dari kesemua total transaksi, berapa besaran tingkat
dominasi yang mempresentasikan item X dan Z dibeli secara bersama).
2. Confidence, ukuran yang menunjukkan hubungan 2 item secara conditional (misalnya, seberapa sering item X dibeli jika orang membeli item Z).
Kedua ukuran tersebut nanti bermanfaat saat mencari interesting association rule, yaitu guna dibandingkan dengan pembatas (threshold) yang ditentukan user. Batas tersebut biasanya terdiri dari min_support dan min_confidence.
Market basket analysis mengacu pada berbagai metode yang mempelajari tentang item-item di suatu keranjang belanja yang dibeli pada satu penotalan dari banyak
kejadian transaksi yang telah terjadi. Data keranjang belanja dalam bentuk yang paling mentah merupakan daftar transaksi belanja yang dilakukan oleh pelanggan, yang mengidentifikasikan hanya barang-barang yang dibeli secara bersamaan oleh ribuan pelanggan. Datanya ini menantang karena beberapa hal [16] :
1. Jumlah data yang digunakan dalam jumlah besar (biasanya dapat mencapai jutaan transaksi per hari jika pangsa pasarnya besar, seperti pada swalayan). 2. Pembagiannya barangnya luas (setiap keranjang belanja hanya mengandung
sebagian kecil item dari ribuan item yang dijual).
3. Heterogenitas (orang-orang dengan selera yang berbeda cenderung membeli sekelompok barang yang spesifik).
Tujuan analisis keranjang belanja adalah mengidentifikasi produk-produk mana yang cenderung dibeli secara bersamaan. Dengan menganalisis data pada tingkat transaksi maka akan dapat diidentifikasikan pola-pola pembelian, seperti misalnya jenis camilan ringan mana dan jenis roti mana yang dibeli secara bersama dengan minuman untuk bersantai jika orang ingin mengadakan suatu acara seperti piknik atau yang sering dilakukan ketika event-event sepakbola yang biasanya dilakukan nonton bareng. Informasi tersebut kemudian dapat digunakan untuk menentukan di mana suatu item dengan tingkat asosiasi tertentu dengan item lain ditempatkan pada rak-rak di toko yang memungkinkan item-item tersebut saling berdekatan, dan hal ini juga akan dapat membantu manajemen persediaan.
2.3 Algoritma K-Means
2.3.1 Konsep K-Means
Algoritma K-Means merupakan salah satu algoritma clustering pada data mining non hierarki yang menganalisa data dengan pemodelan unsupervised learning dan melakukan pengelompokan data dengan sistem partisi. Konsep dalam clustering yaitu dengan mengelompokkan data-data menjadi beberapa himpunan, yang mana data dalam satu kelompok mempunyai karakteristik yang sama antara data satu dengan yang lainnya dan mempunyai karakteristik berbeda dengan data yang ada dalam kelompok berbeda. Dengan maksud lain, metode k-means ini melakukan peminimalan variasi antar data yang ada dalam suatu cluster dan memaksimalkan variasi dengan data yang ada dalam cluster lainnya. Dalam mengelompokkan data dengan k-means, didasarkan pada titik pusat yang telah ditentukan sebelumnya. Dengan menggunakan rumus Euclidean Distances, Clustering objek dilihat dari
jarak objek dengan titik pusatnya yang paling dekat, yang mana dalam mencari jarak terdekat kadang dibutuhkan hingga beberapa perulangan atau iterasi sampai objek benar-benar mendekati ke titik pusat cluster. Euclidean Distances sendiri merupakan perhitungan jarak dari 2 titik di euclidean space, dengan menghitung akar dari kuadrat perbedaan 2 vektor. Setelah diketahui titik pusat terdekatnya dan posisi objek terhadap cluster-nya tidak berubah-ubah lagi, objek dapat dipastikan masuk sebagai anggota cluster tersebut. Sehingga diketahui bagaimana k-means mempartisi data-data ke dalam kelompok masing-masing cluster, melalui proses perubahan posisi data yang awalnya bergejolak menjadi tetap. Beberapa kelebihan dari algoritma k-means antara lain sebagai berikut :
1. Karena algoritma k-means lebih sederhana dibandingkan algoritma lain seperti
fuzzy c-means, maka dalam implementasinya mudah dilakukan.
2. Dalam mempelajari k-means relatif cepat sehingga tidak perlu waktu lama. 3. Mudah untuk diadaptasikan dari satu masalah ke masalah lain selama data-data
yang digunakan juga cocok dilakukan peng-cluster-an.
4. Algoritma k-means sudah begitu banyak digunakan dalam berbagai masalah, terlebih dalam penelitian-penelitian terdahulu.
Selain algoritma k-means itu sendiri, ternyata banyak algoritma yang didapat dari hasil pengembangan atau variasi dari metode k-means sebagai berikut [17] : 1. K-means++, merupakan metode untuk menentukan nilai awal pada k-means.
Algoritma ini diperlukan dalam meminimalkan dampak buruk dari metode
k-means yang begitu bergantungan dari nilai awalnya.
2. K-medoids, merupakan algoritma yang berbasis prototype. Jika k-means perlu titik tengah sebagai model dari peng-cluster-annya, maka untuk k-medoids ini menggunakan rata-rata tengah.
3. Bisecting k-means, dasarnya memerlukan k-means sebagai pembagi 2 cluster. Mulanya tiap-tiap objek tergabung dalam suatu cluster. Di tiap iterasi, dipilih satu cluster untuk dibagikan 2 menggunakan k-means. Ini dilakukan sampai tercipta k-cluster. Algoritma bisecting k-means kerjanya lebih cepat dibanding k-means karena mereduksi jumlah objek yang dibandingkan di tiap iterasinya.
2.3.2 Proses Algoritma K-Means
Untuk menemukan pola-pola data dari proses clustering berbasis k-means, berikut langkah-langkah yang perlu dilakukan [6], [7], [8] :
1. Menentukan dahulu berapa jumlah cluster yang akan dibentuk (k-cluster). 2. Menentukan titik pusat cluster (centroid) secara acak.
Untuk menghasilkan cluster maksimal, titik awal partisi merupakan salah satu faktor yang berpengaruh untuk itu pemilihan titik awal harus beralasan. Dalam menentukan titik pusat awal cluster dapat dengan mengukur nilai titik tengah segmentasi berdasarkan jumlah jarak terpendek antar anggota kelas tersebut. 3. Menghitung jarak antara setiap data ke titik pusat terdekat.
Distance space digunakan dalam perhitungan jarak antara data dan titik pusat.
Salah satu persamaan yang dapat digunakan adalah Euclidean Distance Space, yang sering digunakan dalam menghitung jarak. Hal tersebut dikarenakan hasil perhitungan merupakan jarak terpendek antara dua titik yang diperhitungkan. Berikut ini merupakan persamaannya yaitu :
Dn (x,y) = √∑𝑝𝑘=1(𝑋𝑥𝑘− 𝑌𝑦𝑘)2 (2.1) Dengan :
Dn (x,y) = jarak objek antara objek i dan j
P = dimensi data
𝑋𝑥𝑘 = koordinat dari objek x pada dimensi k
𝑌𝑦𝑘 = koordinat dari objek y pada dimensi k
4. Mengalokasikan masing-masing data ke titik pusat terdekat, sehingga dalam tahap ini setiap data sudah mulai bergerak ke cluster-nya masing-masing. 5. Menghitung titik pusat baru menggunakan jumlah keseluruhan per cluster.
Untuk menghitung titik pusat cluster yang baru ditentukan berdasarkan rata-rata dari data-data yang ada di titik pusat yang sama. Berikut persamaannya :
𝐶
𝑘= (
1𝑛𝑘
) ∑ 𝑑
𝑖Dengan :
𝐶𝑘 = titik pusat baru
𝑛𝑘 = jumlah dokumen dalam cluster k
𝑑𝑖 = dokumen dalam cluster k
6. Kembali ke langkah 3, jika ada data yang berubah-ubah dari cluster atau jika berubahnya nilai centroid melebihi nilai threshold atau jika berubahnya nilai
objective function yang digunakan melebihi nilai threshold yang digunakan.
2.4 Algoritma Fuzzy C-Covering 2.4.1 Konsep Fuzzy C-Covering
Fuzzy c-covering merupakan suatu algoritma yang digunakan dalam klasifikasi
elemen-elemen dari himpunan universal ke dalam partisi-partisi berupa fuzzy sets.
Fuzzy c-covering merupakan bentuk generalisasi dari metode fuzzy c-partition
yang mana fuzzy c-partition diidentifikasikan sebagai berikut [4] :
Misal I= {𝑖1, 𝑖2, … , 𝑖𝑛} adalah domain data. Fuzzy c-partition dari I adalah fuzzy subset atau fuzzy classes dari T, ditandai oleh T= {𝑡1, 𝑡2, … , 𝑡𝑐} yang memenuhi :
∑𝑐 𝜇 𝑡𝑚 (𝑖𝑘) = 1
𝑚=1 , untuk semua k ∈ N𝑛 (2.3)
Sedangkan berikutnya
0 < ∑𝑛𝑘=1 𝜇 𝑡𝑚 (𝑖𝑘) < n, untuk semua m ∈ N𝑐 (2.4)
Di mana c merupakan positive integer (0 < c ≤ n) dan 𝜇𝑡𝑚(𝑖𝑘) ∈ [0,1].
Untuk lebih jelasnya rumus (2.3) dan (2.4), berikut contoh 1 : μt1 = {0.3/i1, 0.7/i2, 1/i3},
μt2 = {0.6/i2, 0.5/i3, 1/i4}, μt3 = {0.3/i4, 0.6/i5, 0.7/i6}.
Di contoh 1 diketahui total elemen terlibat (n = 6) dan partisinya (c = 3). Fuzzy
class tersebut bisa diistilahkan sebagai fuzzy c-partition dari suatu domain I =
{i1, i2, i3, i4, i5, i6} karena memenuhi rumus (2.3) dan (2.4). Di dalam fuzzy c-covering, rumus (2.3) dari teori fuzzy c-partition digeneralisasikan menjadi :
∑𝑐 𝜇 𝑡𝑚 (𝑖𝑘) ≥ 1
𝑚=1 , untuk semua k ∈ N𝑛 (2.5)
Untuk memperjelasnya diberikan contoh ke 2, yang misalnya suatu fuzzy classes disebutkan seperti di bawah ini :
μt1 = {0.3/i1, 0.7/i2, 0.6/i3}, μt2 = {0.7/i6, 0.5/i3, 1/i4, 0.3/i5},
μt3 = {0.3/i4, 0.6/i1, 0.7/i5}.
Dari contoh 2 bisa diketahui (n = 6) dan jumlah partisinya (c = 3). Fuzzy class itu dikatakan sebagai fuzzy c-covering suatu domain I = {i1, i2, i3, i4, i5, i6} karena telah memenuhi rumus (2.4) serta (2.5).
2.4.2 Proses Algoritma Fuzzy C-Covering
Untuk menemukan pola data dari proses market basket analysis berbasis fuzzy
c-covering, berikut langkah-langkah yang perlu dilakukan [4], [5]:
1. Menentukan max_item_threshold sesuai yang dibutuhkan. Max_item_threshold merupakan pembatas untuk menyaring transaksi berdasar pada jumlah item di dalam transaksi. Hal ini didasarikan pada pengetahuan bahwa makin banyak
item yang dibeli dalam suatu transaksi, hubungan antar item dalam transaksi
tersebut pun akan semakin lemah.
2. Mencari record-record yang berada di dalam tabel transaksi yang memenuhi
max_item_threshold dan menyimpannya ke dalam QT, di mana :
QT = {t │ |t| ≤ ith, ith ∈ positive integer} (2.6) Dengan :
QT (Qualified Transaction) = himpunan transaksi yang sudah memenuhi
max_item_threshold
t = transaksi
|t| = jumlah produk dalam suatu transaksi ith = max_item_threshold
4. Menentukan min_support ke-k yang sebagai threshold bagi kombinasi k-item terhadap tingkat dominasinya dari keseluruhan transaksi.
5. Mencari support dari setiap kombinasi k-item yang memungkinkan yang ada di dalam transaksi tersebut dengan rumus :
𝑠𝑢𝑝𝑝𝑜𝑟𝑡 (𝑢) = ∑𝑛𝑡=1 1 𝐶 |𝑇𝑡| 𝑘 𝑠(𝑢, 𝑇𝑡) 𝑛
=
∑𝑛𝑡=1 1 |𝑇𝑡|! 𝑘!(|𝑇𝑡|− 𝑘)! 𝑠(𝑢, 𝑇𝑡) 𝑛(2.7) Dengan :
u = kombinasi k-item yang akan dicari support-nya. Jika I merupakan universal set dari item-item, u ⊆ 𝐼
|u| = k : jumlah produk dalam u 𝑇𝑡 = transaksi ke-t (𝑇𝑡 ⊆ 𝐼) |𝑇𝑡| = jumlah produk dalam 𝑇𝑡
𝐶|𝑇𝑘𝑡| = kombinasi k-item terhadap |𝑇𝑡| 𝑛 = jumlah record atau tuple dalam QT
s(u, Tt) ∈ {0, 1} adalah suatu function, di mana jika u ∈ 𝑇𝑡, s(u, Tt) = 1, selain itu s(u, Tt) = 0.
6. Melakukan penyaringan terhadap kombinasi produk yang ada dalam transaksi tersebut yang tidak memenuhi : support (u) ≥ min_support ke-k.
7. Set k = k + 1, di mana jika k > ith, maka ke langkah 9 (sembilan).
8. Mencari kombinasi k-item yang memungkinkan dari tiap kombinasi
(k-1)-item yang memenuhi minimum_support yang telah ditentukan, dengan cara :
a. Untuk mendapat kombinasi k-item, u, harus ada kombinasi (k-1)-item, u’, di mana u’ ⊂ u. Misalnya untuk mendapatkan u = {I1, I2, I3, I4} harus ada u’ = {I1, I2, I3}, {I1, I2, I4}, {I1, I3, I4}, {I2, I3, I4}.
b. Jika tidak ada lagi kombinasi k-item yang munkin memenuhi min_support yang ditentukan, dapat ke langkah 9, selain itu ulangi langkah 4 sampai 7. 9. Mendefinisikan tiap produk yang telah didapatkan dari langkah sebelumnya
10. Mencari candidate rules dengan menghitung confidence di tiap kombinasi
k-item yang mencapai min_support ke-k (k ≥ 2) dari item fuzzy set yang sudah
didapatkan dari langkah 9 (sembilan) dengan rumus : R (X, Y) = confidence (Y X) = ∑t ∈T i ∈ X inf ∪ Y (μi(t))
∑t ∈T i ∈inf Y (μi(t))
(2.8)
Dengan : X, Y ⊆ 𝐼
T = himpunan kode-kode transaksi yang terdapat di QT μi(t) ∈ [0, 1] = fungsi anggota terhadap T
2.5 CRISP-DM (Cross Industry Standard Process For Data Mining)
2.5.1 Tentang CRISP-DM
CRISP-DM (Cross Industry Standard Process For Data Mining) adalah sebuah metodologi yang menyediakan sebuah pendekatan terstruktur untuk perencanaan proyek data mining, yang merupakan suatu konsorsium perusahaan yang didirikan oleh Komisi Eropa tahun 1996 dan telah ditetapkan sebagai proses standar dalam
data mining yang dapat diaplikasikan di berbagai sektor industri. Adapun proses
ini salah satu tujuannya ialah menemukan pola yang menarik dan bermakna dalam data, serta melibatkan beberapa disiplin ilmu seperti statistika, machine learning,
artificial intelligence, dan data mining. Salah satu keuntungan dari menggunakan
proses ini adalah menjelaskan langkah paling umum dalam proses-prosesnya yang bukanlah suatu prosedur yang kaku dan harus dilakukan secara beruntun. Bahkan beberapa kasus ada yang dilakukan tidak dari awal tahap, bisa jadi dari pemodelan dahulu atau dari mengenali data-data yang dimiliki terlebih dahulu. CRISP-DM juga tidak hanya bisa dilakukan oleh para analis ahli, karena prosesnya yang tidak terlalu sulit maka para pemula atau pelajar pun dapat menggunakannya. Namun meski demikian, CRISP-DM memberikan kerangka kerja yang berguna dalam penggalian data sehingga lebih tahu tentang apa saja yang perlu dilakukan. Untuk lebih jelasnya bagaimana fase-fase CRISP-DM dan apa saja yang biasa dilakukan juga diperlukan dalam setiap fase, akan dijelaskan pada poin selanjutnya.
2.5.2 Proses CRISP-DM
Gambar 2.1 Proses Diagram CRISP-DM (Cross Industry Standard Process For Data Mining)[18]
Dilihat dari gambar, nampak terdapat beberapa proses atau fase-fase yang perlu dilakukan pada analisa data mining menggunakan CRISP-DM. Secara garis besar ada 6 alur proses yang mana proses pertama dimulai dari business understanding, lalu data understanding yang perlu dianalisa berdasarkan business understanding yang jika sudah sesuai maka belanjut ke data preparation, kemudian modelling. Pada tahap modelling sangat erat kaitannya dengan data preparation, sehingga di tahap data preparation tidak boleh ada kesalahan saat menyiapkan data-datanya. Setelah modeling selesai, perlu dilakukan evaluasi terhadap hasil dari modeling. Dari evaluasi dapat berlanjut ke 2 arah, yaitu siap untuk deployment atau diulang kembali ke tahap business understanding. Untuk pengulangan bisa dikarenakan perlu adanya penelitian ulang terhadap keseluruhan proses yang sudah dilakukan, atau melakukan kembali analisa data mining dengan business understanding yang berbeda, atau juga sebagai siklus hidup sebuah sistem informasi. Berikut ini akan dijelaskan lebih mendalam setiap tahap proses CRISP-DM [19] :
1. Business Understanding
Dinamakan juga sebagai pemahaman penelitian. Tahap ini sangat diperlukan kapasitas pemahaman yang bagus tentang substansi dari kegiatan data mining yang akan dilakukan, atau merupakan kebutuhan dari sudut pandang bisnis.
Business understanding terdiri dari beberapa sub tahapan, yang diantaranya
yaitu: menentukan tujuan atau sasaran bisnis, memahami proses bisnis yang sedang berjalan, menentukan tujuan dari datamining, dan pengaturan rencana strategi serta jadwal pelaksanaan kegiatan.
2. Data Understanding
Merupakan fase di mana data-data mentah atau data awal dikumpulkan, lalu memahami data-data tersebut untuk dapat mengenal data apa saja yang akan digunakan dalam proses data mining. Fase ini mencoba mengidentifikasikan masalah apa saja yang berkaitan dengan kualitas data, mendeteksi subset yang menarik dari data untuk membuat hipotesa awal.
3. Data Preparation
Disebut juga sebagai persiapan data, yang mana tahapan ini lah yang dapat dikatakan paling rumit atau banyak membutuhkan waktu karena ada banyak sub-sub fase yang memang perlu dilakukan seperti cleaning data, integrating,
selecting, bahkan pembuatan atribut baru jika dibutuhkan, dan sebagainya. 4. Modeling
Merupakan fase penentuan tehnik atau algoritma data mining yang akan digunakan, tools yang dapat digunakan untuk mendukung algoritma, dan juga parameter dengan nilai yang optimal.
5. Evaluation
Merupakan tahap menginterpretasikan hasil datamining yang ditunjukkan pada tahap pemodelan dari fase modeling. Evaluasi dilaksanakan secara lebih mendetail dengan tujuan menyesuaikan model yang diperoleh agar sesuai dengan tujuan yang ingin dicapai dalam fase pertama.
6. Deployment
Merupakan tahap penyebaran, di mana penyusunan laporan atau presentasi dari pengetahuan yang didapat dari evaluasi di proses data mining dilakukan.
2.6 Aplikasi Pendukung Pemodelan
2.6.1 RapidMiner Versi 5.3.015
RapidMiner merupakan software pengolahan data mining yang dapat digunakan
pada lingkungan untuk machine learning, data mining, text mining, dan lain-lain.
RapidMiner menyediakan prosedur data mining dan machine learning termasuk:
ETL (extraction, transformation, loading), data preprocessing, modelling, dan evaluasi. Proses data mining merupakan susunan dari operator-operator yang
nestable, dideskripsikan dengan XML, didukung GUI, juga ditulis dalam bahasa
pemrograman Java. Berikut beberapa fungsi menu utama RapidMiner seperti : 1. Process control, merupakan fungsi yang diperuntukkan guna mengontrol aliran
pemprosesan, seperti perulangan atau conditional branch.
2. Utility, digunakan pada pengelompokan sub process, juga macro dan logger. 3. Repository access, diperuntukkan dalam pembacaan dan penulisan repository. 4. Import, digunakan untuk membaca dari berbagai format external.
5. Export, digunakan untuk menulis data ke berbagai format external.
6. Data Transformation, berfungsi untuk mentransformasi data dan metadata. 7. Modelling, untuk proses data mining yang sesungguhnya. Seperti klasifikasi,
regresi, clustering, aturan asosiasi, dan sebagainya. 8. Evaluation, untuk menghitung kualitas dari modelling. 2.6.2 Microsoft Visual Basic Versi 6.0
Secara singkat tentang Microsoft Visual Basic yang sering digunakan dalam dunia pemrograman merupakan sebuah bahasa pemrograman yang mana menyediakan
Integrated Development Environtment (IDE) visual untuk merancang program
perangkat lunak berbasis sistem operasi Microsoft Windows dengan berbasis pada model pemrograman (COM). Para programmer dapat membangun aplikasi bisnis dengan menggunakan komponen yang sudah ada di Microsoft Visual Basic itu sendiri, meski beberapa karakteristik obyek ada yang tidak dapat dilakukan pada
visual basic. Visual Basic menjadi populer karena kemudahan desain form secara visual dan kemampuannya untuk menggunakan komponen yang dibuat pihak lain.
24 3.1 Metode Pengumpulan Data
Untuk memperoleh data-data penelitian, penulis menggunakan beberapa metode pengumpulan data yang dilakukan untuk menunjang penelitian tugas akhir ini. Berikut beberapa metode yang dilakukan :
1. Observasi
Dalam proses observasi, peneliti melakukan pengamatan langsung terhadap InshofMart. Tentang bagaimana sistem informasi yang ada saat ini sedang berjalan, dapat digunakan untuk apa saja data-data yang tersimpan dalam
database sistem tersebut, intinya bagaimana InshofMart memberdayakan
sistem informasi mereka dan data-data yang dimiliki. Selain mengamati sistemnya, peneliti juga mengamati keadaan InshofMart secara fisik yang mempunyai hubungan dengan masalah yang diangkat dalam penelitian ini. Yaitu gudang penyimpanan barang yang hubungannya dengan pengendalian
stock barang, dan tatanan rak-rak barang yang hubungannya dengan asosiasi
antar item (market basket analysis). 2. Studi Kepustakaan
Untuk menunjang penelitian ini agar dapat dilakukan dengan baik dan setiap materi yang dicantumkan dapat dipertanggungjawabkan keabsahannya dan sitasinya, maka dilakukan studi pustaka dengan mempelajari buku-buku
literature, laporan-laporan yang berkaitan dengan penelitian dan juga hasil
penelitian terdahulu atau yang pernah dilakukan oleh peneliti lain yang ada hubungannya dengan masalah yang penulis teliti saat ini.
Dalam melaksanakan penelitian, diperlukan adanya data-data untuk mendukung penelitian agar sesuai dengan objek yang diteliti. Ada beberapa jenis dan sumber data-data yang perlu diperhatikan dalam memperolehnya, diantaranya adalah :
1. Jenis Data
Adapun jenis data-data yang penulis gunakan di dalam melakukan penelitian tugas akhir ini adalah sebagai berikut :
a. Data Kuantitatif
Merupakan jenis data yang dapat dihitung dan menunjukkan jumlah sesuatu. Data kuantitatif yang digunakan dalam penelitian ini misalnya data jumlah sisa item produk, jumlah produk yang terjual, jumlah berapa kali transaksi terjadi, dan sebagainya. Untuk data transaksi yang akan digunakan pada proses market basket analysis adalah yang dikumpulkan InshofMart mulai tanggal 01 November 2016 s/d 31 Maret 2017. Sedangkan untuk clustering merupakan data pembelian ke distributor yang dikumpulkan sekitar tanggal 01 November 2016 s/d 31 Maret 2017. Karena tidak semua produk dibeli tepat tanggal 01 November 2016, sehingga digunakan data yang terjadi pada satu kali pembelian tanggal sebelumnya. Namun data dalam transaksi yang digunakan adalah jumlah sisa produk tepat pada tanggal 01 November 2016, sehingga tidak semua jumlah yang dibeli di kejadian tanggal sebelumnya digunakan. Dan untuk data nama-nama produk yang ada dalam clustering juga diambil dari jenis produk yang dibeli oleh pelanggan saja, atau produk yang terdapat di tabel transaksi selama 01 November 2016 s/d 31 Maret 2017 tersebut. Sehingga untuk jenis produk yang tidak terdapat dalam tabel transaksi di kisaran periode tersebut, dihapus atau tidak disertakan dalam himpunan data-data untuk di dalam melakukan proses clustering nantinya. Jumlah data yang terdapat dalam tabel transaksi selama 01 November 2016 s/d 31 Maret 2017, berjumlah 3.623 record data transaksi. Sedangkan untuk data jenis-jenis produk yang dibeli pada distributor dan terdapat dalam tabel transaksi 01 November 2016 s/d 31 Maret 2017 berjumlah 1.005 item. Untuk data transaksi yang diminta dari InshofMart terdiri dari 4 atribut, yaitu nomor, tanggal, nama produk, dan jumlah. Sedangkan untuk data stock
item yang diminta terdiri dari 2 atribut, yaitu kategori dan nama produk.
Berikut ini adalah merupakan bentuk tabel yang akan digunakan dalam proses penelitian, atribut-atribut dalam tabel stock dan transaksi :
Tabel 3.1 Sampel Data Pada Tabel Stock
Kategori Nama Produk
Alat-alat Tulis (AT)
Joyko Correction Tape CF-S201-PT Joyko Correction Tape JK-101 Joyko Isi Pensil PL-05 (2B)
Canned & Lauk Pauk (CN)
Pronas Chicken Sausage (325 gr) ABC Sardines Sauce Chilli (155 gr) ABC Sardines Sauce Tomato (155 gr)
Coklat (CK)
Silver Queen Almond Milk Chocolate (33 gr) Silver Queen Cashew Milk Chocolate (33 gr) Delfi Fruit & Nut (30 gr)
Kosmetik Rambut (KR)
Gatsby Watergloss Hard (150 gr) Gatsby Watergloss Hyper Solid (75 gr)
Gatsby Styling Pomade Supreme Grease (80 gr)
Tabel 3.2 Sampel Data Pada Tabel Transaksi
No Tanggal Nama Produk Jumlah
1 01/11/2016
Baby Happy Pants XL 1 Pcs 3
Mitu Baby Wet Tissue Pink 10s 1
My Baby Powder Soft & Gentle (150 gr) 1 2 01/11/2016
Aqua (1500 ml) 1
Snack Kerupuk Tengiri Original 1
Snack Ring Balado 1
3 01/11/2016
Aqua (1500 ml) 1
Indofood Saus Pedas Sachet Isi 6 (9 gr) 1
Okey Sosis Ayam / 1 Potong 3
Sarimi isi 2 Koya jeruk Nipis (112 gr) 2
So Good Bakso Kuah Ayam 1
5 01/11/2016
Campina Concerto Sundae Blueberry 2
Bayclin Botol (100 ml) 1
Milkuat Rasa Strawberry 2
Nuvo Bar Soap Family Biru (80 gr) 2 So Klin Smart Color Deterjen (800 gr) 1
2. Sumber Data a. Data Sekunder
Merupakan data yang didapatkan secara tidak langsung untuk menambah pengetahuan, antara lain data dari literatur, jurnal, atau data pendukung lain yang bukan dari sumber utama yang berhubungan dengan topik penelitian. Misal dalam penelitian ini penulis menggunakan data stock produk dan data transaksi yang didapatkan dari InshofMart, bukan memperolehnya langsung dari kegiatan jual beli yang setiap harinya dilakukan antara penjual dengan pembeli dan distributor.
3.2 Metode Analisis
3.2.1 CRISP-DM (Cross Industry Standard Process For Data Mining)
Ada 6 tahap dalam fase CRISP-DM, namun pada penelitian ini hanya sampai fase ke-4 dikarenakan tahap evaluasi dan deployment perlu penelitian lebih lanjut dan dukungan dari pihak luar. Berikut 4 fase yang digunakan dalam penelitian :
1. Business Understanding
Dinamakan juga sebagai pemahaman penelitian. Tahap ini sangat diperlukan kapasitas pemahaman yang bagus tentang substansi dari kegiatan datamining yang akan dilakukan, atau merupakan kebutuhan dari sudut pandang bisnis.
Business understanding terdiri dari beberapa sub tahapan, yang diantaranya
yaitu: menentukan tujuan atau sasaran bisnis, memahami proses bisnis yang sedang berjalan, dan menentukan tujuan dari data mining.
2. Data Understanding
Merupakan fase di mana data-data mentah atau data awal dikumpulkan, lalu memahami data-data tersebut untuk dapat mengenal data apa saja yang akan digunakan dalam proses data mining. Fase ini mencoba mengidentifikasikan masalah apa saja yang berkaitan dengan kualitas data, mendeteksi subset yang menarik dari data untuk membuat hipotesa awal.
3. Data Preparation
Disebut juga sebagai persiapan data, yang mana tahapan ini lah yang dapat dikatakan paling rumit atau banyak membutuhkan waktu karena ada banyak
sub-sub fase yang memang perlu dilakukan seperti cleaning data, integrating,
selecting, bahkan pembuatan atribut baru jika dibutuhkan, dan sebagainya. 4. Modeling
Merupakan fase penentuan tehnik atau algoritma data mining yang akan digunakan, tools yang dapat digunakan untuk mendukung algoritma, dan juga parameter dengan nilai yang optimal.
3.2.2 Metode Clustering Menggunakan K-Means
Untuk menemukan pola-pola data dari proses clustering berbasis k-means dan mendukung tahap pemodelan pada CRISP-DM, berikut langkah-langkah yang perlu dilakukan [6], [7], [8] :
1. Menentukan dahulu berapa jumlah cluster yang akan dibentuk (k-cluster). 2. Menentukan titik pusat cluster (centroid) secara acak.
3. Menghitung jarak antara setiap data ke titik pusat terdekat menggunakan rumus
Euclidean Distance. Berikut ini merupakan persamaannya yaitu : Dn (x,y) = √∑ (𝑋𝑥𝑘− 𝑌𝑦𝑘)
2 𝑝
𝑘=1 (3.1)
Dengan :
Dn (x,y) = jarak objek antara objek i dan j
P = dimensi data
𝑋𝑥𝑘 = koordinat dari objek x pada dimensi k 𝑌𝑦𝑘 = koordinat dari objek y pada dimensi k
4. Mengalokasikan masing-masing data ke titik pusat terdekat, sehingga dalam tahap ini setiap data sudah mulai bergerak ke cluster-nya masing-masing. 5. Menghitung titik pusat baru menggunakan jumlah keseluruhan per cluster.
Untuk menghitung titik pusat cluster yang baru ditentukan berdasarkan rata-rata dari data-data yang ada di titik pusat yang sama. Berikut persamaannya :