• Tidak ada hasil yang ditemukan

PENENTUAN POLA SEKUENSIAL DATA TRANSAKSI PEMBELIAN MENGGUNAKAN ALGORITME SPADE RIFERSON SIJABAT

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENENTUAN POLA SEKUENSIAL DATA TRANSAKSI PEMBELIAN MENGGUNAKAN ALGORITME SPADE RIFERSON SIJABAT"

Copied!
28
0
0

Teks penuh

(1)

PENENTUAN POLA SEKUENSIAL DATA TRANSAKSI PEMBELIAN

MENGGUNAKAN ALGORITME SPADE

RIFERSON SIJABAT

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2011

(2)

PENENTUAN POLA SEKUENSIAL DATA TRANSAKSI PEMBELIAN

MENGGUNAKAN ALGORITME SPADE

RIFERSON SIJABAT

Skripsi

Sebagai salah satu syarat untuk memperoleh

gelar Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2011

(3)

ABSTRACT

RIFERSON SIJABAT. Sequential Pattern Discovery on Sales Transaction Data using SPADE Algorithm. Supervised by MEUTHIA RACHMANIAH and ANNISA.

The rapid development of information technology that is happening these days requires people to adapt into these developments. This human efforts can be seen from the many activities carried out by computerization that produces large amounts of data. From these available abundant data, the discovery of useful knowledge from large database becomes popular and attractive. This discovery of useful knowledge can be done using the concept of sequential pattern mining. One of the algorithms that applies the concept of sequential pattern mining is Sequential Pattern Discovery using Equivalence classes (SPADE) that is able to determine the sequential pattern of a data transaction. By adopting the functions contained in the SPADE algorithm, the purchasing tendency of items by customer at a specific time period can be seen. This research use the purchase transactions data of Sinar Mart Swalayan in period of 1 March to 31 March 2004. In this research, the minimum support was tested starting from 45% to 89% and minimum confidence from 20% to 96%. Minimum support and minimum confidence which is given is determined based on the condition of the data. Experimental results showed that the maximum value of minimum support that still could generate frequent sequences was 89%.

(4)

Judul Skripsi

Nama

NIM

:

:

:

Penentuan Pola Sekuensial Data Transaksi Pembelian

Menggunakan Algoritme SPADE

Riferson Sijabat

G64060063

Menyetujui :

Pembimbing I,

Pembimbing II,

Ir. Meuthia Rachmaniah, M.Sc.

Annisa, S.Kom., M.Kom.

NIP 19590711 198403 2 001 NIP 19790731 200501 2 002

Mengetahui :

Ketua Departemen Ilmu Komputer,

Dr. Ir. Sri Nurdiati, M.Sc.

NIP 19601126 198601 2 001

(5)

PRAKATA

Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul Penentuan Pola Sekuensial Data Transaksi Pembelian Menggunakan Algoritme SPADE. Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Komputer di FMIPA IPB.

Penghargaan serta rasa terima kasih penulis sampaikan kepada Ibu Ir. Meuthia Rachmaniah, M.Sc. dan Ibu Annisa, S.Kom., M.Kom. selaku pembimbing yang telah bersedia meluangkan waktu serta memberikan saran dan bimbingannya selama penelitian dan penulisan tugas akhir ini. Penghargaan dan rasa terima kasih juga penulis sampaikan kepada Bapak Rindang Karyadin, ST., M.Kom. yang telah berkenan sebagai moderator dan penguji dalam pelaksanaan seminar dan sidang.

Penulis menyampaikan terima kasih dan penghargaan yang sangat mendalam kepada seluruh keluarga, Ayahanda L. Sijabat, Ibunda R. Purba (Almh), dan kakak-kakakku tercinta yang senantiasa memberikan dukungan moral, doa, kasih sayang, dan perhatian. Penulis menyampaikan terima kasih kepada sahabatku (Corry, Eka, Eko, Mada, dan Sandro), Kak Irfan, Kak Edo, Ilkom 43 (Hendrex, Wildan, dan Luqman) atas dukungan, motivasi dan masukan yang telah diberikan. Semua teman-teman Ilkom 43 lainnya, terima kasih untuk persahabatan dan kebersamaan selama kuliah di Ilkom IPB. Penulis juga menyampaikan terima kasih kepada teman-teman di Pondok Syalom (Dhimas, Doli, Zega, Rudy, dan Sylvester) dan juga Komisi Literatur 43 PMK IPB atas doa, bantuan dan motivasinya.

Penulis mengucapkan terima kasih kepada seluruh staf pengajar yang telah memberikan wawasan serta ilmu yang berharga selama penulis menuntut ilmu di Departemen Ilmu Komputer. Seluruh staf administrasi dan perpustakaan Departemen Ilmu Komputer FMIPA IPB yang selalu memberi kemudahan dalam mengurus segala macam hal berkaitan dengan perkuliahan, serta pihak-pihak lain yang tidak dapat disebutkan satu-persatu.

Penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna. Namun, penulis berharap semoga tugas akhir ini dapat memberikan manfaat bagi pembacanya.

Bogor, Mei 2011

(6)

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 3 September 1986 di Gambiri, Sumatera Utara. Penulis merupakan anak kesembilan dari sembilan bersaudara pasangan L. Sijabat dan R. Purba (almh).

Pada tahun 2005, penulis lulus dari Sekolah Menengah Atas (SMA) Negeri 4 Pematang Siantar dan pada tahun 2006 diterima di Institut Pertanian Bogor (IPB) melalui jalur Seleksi Penerimaan Mahasiswa Baru (SPMB) di Tingkat Persiapan Bersama (TPB). Pada tahun 2007, penulis diterima di Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) IPB.

Selama mengikuti perkuliahan, penulis pernah menjadi pengurus Himpunan Mahasiswa Ilmu Komputer (HIMALKOM) IPB tahun kepengurusan 2007/2008. Pada tahun 2009, penulis melakukan kegiatan praktik lapang selama dua bulan di PT. Waindo Specterra Jakarta dengan bidang kajian Sistem Informasi Tender. Pada tahun 2010, penulis terpilih mewakili Indonesia pada “17th

(7)

DAFTAR ISI

Halaman

DAFTAR TABEL... v DAFTAR GAMBAR... v DAFTAR LAMPIRAN... v PENDAHULUAN Latar Belakang ... 1 Tujuan .. ... 1 Ruang Lingkup ... 1 Manfaat Penelitian... ..1 TINJAUAN PUSTAKA Knowledge Discovery in Database (KDD) ... 1

Association Rule Mining ... 2

Pola Sekuensial... 2

Pendekatan Hyper-lattice ... 3

Equivalence Class... 3

SPADE Algorithm ... 3

Rule Generation ... 5

Temporal join of id-lists ... 5

METODE PENELITIAN Proses Dasar Sistem ... 6

Lingkungan Pengembangan Sistem ... 7

HASIL DAN PEMBAHASAN Pembersihan Data ... 7

Seleksi Data ... 7

Transformasi Data ... 8

Data Mining ... 8

a Pemberian minimum support ... 8

b Penentuan frequent 1-sequences ... 8

c Pembentukan frequent sequences ... 9

Evaluasi Pola ... 9

Representasi Pengetahuan ... 10

KESIMPULAN DAN SARAN Kesimpulan ... 11

Saran ... 12

DAFTAR PUSTAKA ... 12

LAMPIRAN ... 13

(8)

DAFTAR TABEL

Halaman

1 Sampel database vertikal ... 3

2 Daftar pola sekuensial yang sering terjadi ... 10

3 Hasil pembentukan rule ... 11

DAFTAR GAMBAR

Halaman 1 Tahapan proses KDD... 2

2 Id-list item A ... 4

3 Diagram alur metode penelitian ... 7

4 Grafik waktu eksekusi ... 9

5 Antarmuka grafis aplikasi utama ... 11

DAFTAR LAMPIRAN

Halaman 1 Struktur hyper-lattice berdasarkan equivalence class ... 14

2 Temporal id-list join ... 15

3 Deskripsi sampel data transaksi pembelian Sinar Mart Swalayan ... 16

4 Format konversi items ke dalam bentuk numerik ... 17

5 Sampel data transaksi pembelian setelah praproses ... 18

6 Hasil pembentukan frequent sequences ... 19

(9)

1

PENDAHULUAN Latar Belakang

Perkembangan teknologi informasi yang sangat pesat yang terjadi dewasa ini menuntut manusia untuk mampu beradaptasi dengan perkembangan tersebut. Upaya adaptasi yang dilakukan manusia dapat dilihat dari banyaknya kegiatan yang dilakukan secara komputerisasi sehingga menghasilkan data dalam jumlah yang besar. Dengan ketersediaan data yang semakin melimpah tersebut, penemuan pengetahuan yang berguna dari suatu database yang besar semakin populer dan menarik perhatian.

Penemuan pengetahuan yang berguna tersebut dapat dilakukan menggunakan teknik

data mining. Data mining merupakan proses

ekstraksi informasi atau pola dalam database yang berukuran besar (Han & Kamber 2006). Salah satu teknik data mining adalah sequential

pattern mining yang berguna untuk menemukan

pola sekuensial yang terdapat pada database yang pertama kali diperkenalkan oleh Agrawal dan Srikant pada tahun 1995.

Pada database, salah satu data yang sering dijumpai adalah data transaksi. Data transaksi merupakan data konsumen atau pelanggan pada sebuah lembaga komersil maupun non-komersil yang berisi id konsumen, waktu transaksi, dan

item transaksi. Dari data transaksi seperti halnya

transaksi supermarket, dapat ditemukan pola sekuensial untuk mengetahui keterkaitan antarbarang atau item.

Salah satu algoritme yang dapat digunakan untuk mengetahui pola sekuensial dari suatu data transaksi yaitu Sequential PAttern Discovery using Equivalence classes (SPADE).

Algoritme SPADE merupakan algoritme berbasis candidate generation and test dan merupakan penyempurnaan dari algoritme penentuan pola sekuensial terdahulu yakni Apriori. Pada perkembangannya, algoritme

SPADE masih jarang diimplementasikan sehingga diperlukan kajian yang lebih dalam dengan harapan bahwa apabila implementasi algoritme SPADE berhasil, maka penerapan algoritme berbasis patterrn growth akan semakin menarik untuk dilakukan.

Dengan mengadopsi fungsi-fungsi pada algoritme SPADE, akan dilihat kecenderungan pembelian barang oleh customer dalam kurun waktu tertentu. Sebagai contoh, customer biasa membeli kebutuhan pokok di awal bulan karena sebagian besar mendapatkan gaji pada periode tersebut. Kejadian seperti ini sebenarnya terekam dalam database, hanya saja belum

tergali informasi tentang itu. Dengan mencari pola-pola dari database menggunakan algoritme

SPADE, akan terlihat keterkaitan jenis barang

yang dibeli oleh pembeli pada waktu tertentu (Zaki 2001). Hal ini dapat dimanfaatkan oleh pemilik supermarket dalam pengambilan keputusan terkait dengan penjualan barang.

Tujuan Penelitian

Penelitian ini bertujuan untuk mengimplementasikan algoritme SPADE untuk melihat keterkaitan antara beberapa item dari suatu data transaksi pembelian.

Ruang Lingkup Penelitian

Ruang lingkup penelitian ini dibatasi pada penerapan algoritme SPADE dengan menggunakan data transaksi pembelian Sinar Mart Swalayan selama periode 1 bulan terhitung sejak 1 Maret hingga 31 Maret 2004. Data transaksi pembelian tersebut berisi id pembeli, waktu pembelian berdasarkan tanggal, dan juga jenis barang atau item yang dibeli. Analisis dilakukan terhadap kelompok data tersebut sehingga menghasilkan informasi mengenai pola pembelian barang atau item yang digambarkan dalam bentuk frequent sequences dan juga association rule.

Manfaat Penelitian

Hasil penelitian ini diharapkan mampu melihat keterkaitan antarbarang yang dibeli oleh pembeli pada data transaksi pembelian. Keterkaitan antara barang atau item tersebut dapat digunakan sebagai bahan pertimbangan dalam pengambilan keputusan yang berhubungan dengan penjualan barang atau item pada periode berikutnya. Selain itu, penelitian ini juga diharapkan dapat menjadi dasar penelitian selanjutnya yang terkait dengan penentuan pola sekuensial sehingga didapatkan algoritme yang memiliki kinerja yang lebih efektif dan efisien.

TINJAUAN PUSTAKA

Knowledge Discovery from Data (KDD)

Knowledge Discovery from Data (KDD)

adalah suatu proses mengekstrak ilmu pengetahuan atau informasi yang berasal dari kumpulan data dalam jumlah besar (Han & Kamber 2006). Data mining adalah proses penemuan pengetahuan yang menarik dari kumpulan data yang tersimpan pada database,

data warehouse, dan media penyimpanan

informasi lainnya. Tahapan-tahapan proses KDD dapat diilustrasikan pada Gambar 1.

(10)

2 Gambar 1 Tahapan proses KDD (Han &

Kamber 2006).

Deskripsi mengenai tahapan-tahapan proses KDD pada gambar di atas adalah sebagai berikut :

1 Pembersihan data (Data cleaning)

Pembersihan data dilakukan untuk menghilangkan noise dan data yang tidak konsisten.

2 Integrasi data (Data integration)

Integrasi data dilakukan untuk menggabungkan data yang berasal dari berbagai sumber.

3 Seleksi data (Data selection)

Proses seleksi data merupakan proses pengambilan data yang relevan dengan proses analisis yang dilakukan.

4 Transformasi data (Data transformation) Data ditransformasikan atau digabungkan ke dalam bentuk yang sesuai untuk dilakukan proses mining dengan cara melakukan peringkasan atau operasi agregasi.

5 Data mining

Data mining merupakan proses yang penting

dan merupakan tahapan ketika metode-metode cerdas diaplikasikan untuk mengekstrak pola-pola dari kumpulan data. 6 Evaluasi pola (Pattern evaluation)

Merupakan suatu proses untuk mengidentifikasi pola-pola tertentu pada data yang menarik dan merepresentasikan pengetahuan.

7 Representasi pengetahuan (Knowledge

Representation)

Penggunaan visualisasi dan teknik representasi untuk menunjukkan penemuan pengetahuan hasil proses mining kepada pengguna.

Association Rule Mining

Aturan asosiasi (association rule) atau analisis afinitas (affinity analysis) berkenaan dengan studi „apa bersama apa‟. Pada dasarnya aturan ini digunakan untuk menggambarkan keterkaitan antara item pada sekumpulan data (Santoso 2007).

Secara umum, aturan asosiasi dapat dipandang sebagai proses yang terdiri atas dua tahap (Han & Kamber 2006), yaitu :

1 Menemukan kumpulan frequent item.

Sebuah itemset dikatakan frequent item jika memiliki frekuensi kemunculan minimal sama dengan nilai minimum support. 2 Membangkitkan aturan asosiasi dari itemset

yang dikatakan frequent item. Aturan ini harus memenuhi nilai minimum support.

Support

Misalkan α merupakan sebuah sequence dan

D sebuah sequence database. Support atau frequency yang dinotasikan sebagai σ(α, D)

merupakan jumlah total dari sequence di dalam

database D yang berisi α sebagai sebuah subsequence (Zaki 2001).

Confidence

Confidence untuk suatu aturan asosiasi

XY, adalah ukuran keakuratan dari aturan tersebut yang dihitung dari persentase transaksi dalam database yang mengandung X dan juga mengandung Y. Definisi formal dari confidence adalah sebagai berikut:

𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 =𝑃(𝑋 ∩ 𝑌) 𝑃(𝑋)

Pola Sekuensial

Pola sekuensial adalah daftar urutan dari sekumpulan item. Sebuah pola sekuensial dikatakan maksimum apabila tidak mengandung pola sekuensial lainnya (Zaki 2001). Sebuah pola sekuensial dengan item disebut

k-sequence. Sebagai contoh, (A →BC)

merupakan sebuah sequence dengan 3-sequence. Panjang sebuah pola sekuensial adalah jumlah

item yang terdapat pada pola sekuensial tersebut

yang dilambangkan dengan |s|.

Sebuah subsequence s’ dari s dilambangkan dengan s’ ⊆ s. Misalkan, sebuah pola sekuensial

a = (a1,a2,...an) merupakan subsequence dari b =

(b1,b2,...bm) dengan integer i1 < i2 < ...in, 1 ≤ ik ≤

m, sehingga a1 ⊆ b1, a2 ⊆ b2, ..., an ⊆ bm.

Sebagai contoh, (A→BC) merupakan

subsequence dari (A→DE→BC) atau

Knowledge

(11)

3 (D→AB→BC) tetapi bukan subsequence dari

(ABC) atau (BC→A).

Misalkan α merupakan sebuah sequence dan

D merupakan sebuah database. Apabila

diberikan sebuah user-specified threshold σ yang disebut dengan minimum support, maka sebuah sequence dikatakan frequent jika σ (α,

D) ≥ minimum support.

Misalkan D merupakan sebuah database dan

Ƒ merupakan kumpulan dari semua frequent sequences dalam database D. Sebuah frequent sequence α ∈ Ƒ disebut maximal frequent

sequence jika untuk masing-masing β ∈ Ƒ , α ≠

β, dan α bukan merupakan ⊆ β. Pendekatan Hyper-lattice

Hyper-lattice merupakan pendekatan dasar

yang digunakan untuk menguraikan mining

frequent sequences menjadi submasalah yang

lebih kecil (Zaki 2001). Setiap kumpulan dari semua sequences disebut struktur hyper-lattice. Dalam struktur ini, sequences menjadi berlapis yang berarti bahwa setiap sequences dibentuk dengan menambah sebuah item baru ke

sequences dari layer sebelumnya. Adapun dasar

dari teori hyper-lattice sebagai berikut (Davey & Priestley 1990):

1. Join

Misalkan P himpunan terurut dari S ⊆ P. Sebuah elemen X ∈ P adalah sebuah upper

bound dari S jika untuk semua s ∈ S, s ≤ X.

Minimum upper bound dari S disebut join

yang dinotasikan dengan ⋁ S. 2. Meet

Misalkan P himpunan terurut dari S ⊆ P. Sebuah elemen X ∈ P adalah sebuah lower

bound dari S jika untuk semua s ∈ S, s ≥ X.

Maximum lower bound dari S disebut meet

yang dinotasikan dengan ⋀ S. 3. Lattice

Misalkan L merupakan himpunan terurut. L disebut sebuah join (meet) semilattice jika dan hanya jika x ⋁ y (x ⋀ y) ada untuk setiap

x, y ∈ L. L disebut sebuah lattice jika terdapat sebuah join dan meet semilattice. Sebuah himpunan terurut M ⊂ L adalah sebuah sublattice dari L jika x, y ∈ M mengimplikasikan x ⋁ y ∈ M ⋀ x ⋀ y ∈ M. Setiap lattice harus memiliki minimal satu

minimum upper bound dan maximum lower bound, sementara semilattice hanya harus

memiliki minimum upper bound atau maximum

lower bound. Masing-masing himpunan terurut

memiliki elemen terbesar yang disebut top

element yang dinotasikan dengan ┬ dan juga

elemen terkecil yang disebut bottom element yang dinotasikan dengan ┴.

Atom

Sebuah lattice dimisalkan dengan L, dengan

x, y, z ∈ L. x dikatakan dicakup oleh y jika x <

y ⋀ x ≤ z < y, menyiratkan bahwa z = y. ┴ dimisalkan sebagai bottom element dari lattice L,

x ∈ L disebut sebuah atom apabila ┴ dicakup oleh x.

Equivalence Class

Equivalence Class merupakan sebuah kumpulan dari sequences yang membagi prefix yang sama dengan panjang k. Setiap

equivalence class dibentuk dari relasi

equvalence k yang merupakan sebuah

sub-hyper-lattice. Contoh Struktur hyper-lattice

yang dibentuk berdasakan equivalence class dapat dilihat pada Lampiran 1.

Prefix

Misalkan s = (s1 → s2 → ∙ ∙ ∙ → sn) dan b =

(b1 → b2 → ∙ ∙ ∙ → bm) merupakan dua buah sequences. Sequence b disebut prefix dari s jika

dan hanya jika bi = si untuk (i ≤ m - 1) dan bm

sm. Sebagai contoh, sequences (A→B) dan

(A→BC→A) merupakan prefix dari sequence (A→BC→ABC→C).

SPADE Algorithm

Algoritme SPADE merupakan algoritme untuk mencari pola sekensial yang menggunakan equivalence class untuk menguraikan masalah utama menjadi submasalah yang dapat diselesaikan secara terpisah menggunakan operasi join (Zaki 2001). Algoritme ini menggunakan representasi dari

database vertikal di mana masing-masing baris

berisi customer id (sid), waktu transaksi (eid), dan koleksi dari item transaksi seperti yang ditunjukkan pada Tabel 1.

Tabel 1 Sampel database vertikal

sid eid (date) items

1 10 C D 1 15 A B C 1 20 A B F 1 25 A C D F 2 15 A B F 2 20 E 3 10 A B F 4 10 D G H 4 20 B F 4 25 A G H

(12)

4 Pasangan (sid, eid) dari suatu item transaksi

x disebut dengan id-list yang dinotasikan dengan L(x) = {(sid, eid)}. Contoh id-list dari

item A yang terdapat pada Tabel 1 dapat dilihat

pada Gambar 2. A SID EID 1 15 1 20 1 25 2 15 3 10 4 25 Gambar 2 Id-list item A.

Fungsi utama dalam algoritme SPADE adalah memindai database D dan menemukan

frequent 1-sequences yang mengacu pada atom

dari sequence hyper-lattice. Sekumpulan atom-atom akan dibangkitkan dari frequent 1-

sequences dengan assign sebuah id-list ke

semua frequent 1- sequences. Kumpulan dari atom-atom ini merepresentasikan parent class untuk hyper-lattice yang diinduksi oleh [{}]1.

Ringkasan algaoritme SPADE adalah sebagai berikut : SPADE(min_sup, D , Ƒ): Ƒ1 ← {Frequent 1-sequences} ɛ ← {parent classes [{}]Ɵ1} Enumerate-Frequent-Sequences Ƒ ← Ƒ ⋃ Ƒ1 Fungsi Enumerate-Frequent-Sequences

merupakan fungsi untuk membentuk semua

frequent sequences. Tahapan Enumerate-Frequent-Sequences diawali dengan memproses

masing-masing atom Ai dengan Aj yang lain.

Proses ini merupakan sebuah temporal join dari atom-atom di mana atom α yang baru diperoleh merepresentasikan sequence. Setelah proses join, akan dilakukan pengecekan frequency dari hasil

id-list atom-atom untuk menentukan apakah sequence yang terbentuk frequent atau tidak.

Jika sequence tersebut frequent, maka atom α ditambahkan ke dalam kumpulan atom-atom Ti

yang merepresentasikan parent class untuk

hyper-lattice berikutnya yang diinduksi oleh

[Ai]⊖1. Setelah Ai selesai, fungsi secara rekursif

dipanggil dengan Ti sebagai parameter.

Sebagai ilustrasi, data yang terdapat pada Tabel 1 akan menghasilkan sekumpulan

frequent atoms J = {A, B, D, F}. Semua frequent atoms yang dihasilkan akan mengalami

proses temporal join untuk membentuk semua

frequent 2-sequences hingga frequent

k-sequences yang bisa terbentuk. Proses temporal join dimulai dari atom A sebagai parent class

pertama. Atom A akan dilakukan proses join dengan sisa frequent atoms J yang lain, yaitu B, D, dan F. Proses temporal join atom A dengan atom yang lain akan menghasilkan kumpulan atom yang merepresentasikan frequent sequences K = {AB, AF}. Algoritme kemudian

pindah ke kumpulan atom K dan mengambil atom (AB) untuk dilakukan temporal join dengan sisa dari kumpulan atom K yang lain yakni (AF). Proses temporal join (AB) dengan sisa kumpulan atom K yang lain hanya akan menghasilkan sebuah atom yang merepresentasikan sequence yaitu L = {(ABF)}.

Algoritme kemudian berpindah secara rekursif ke kumpulan atom L dan setelah diketahui bahwa tidak ada lagi frequent

sequence yang lain yang bisa dibangkitkan dari

kumpulan L, maka algoritme akan tracks back ke kumpulan atom K sebelumnya dan mengambil atom selanjutnya yakni (AF). Atom (AF) ini akan di-join dengan sisa dari kumpulan atom K yang lain, dan berhubung tidak ada sisa dari kumpulan atom K yang lain, maka tidak ada frequent sequence lain yang bisa dibangkitkan sehingga algoritme tracks back ke kumpulan atom J sebelumnya dan mengambil atom selanjutnya yakni B. Atom B ini akan

di-join dengan sisa dari kumpulan atom J yang

lain yakni A, D dan F dan akan menghasilkan kumpulan atom yang merepresentasikan

frequent sequence K2 = {(BF),(B→A)}.

Algoritme kemudian pindah ke kumpulan atom K2 dan mengambil atom (BF) untuk

dilakukan temporal join dengan sisa kumpulan atom K2 yang lain yakni (B→A). Proses temporal join (BF) dengan sisa kumpulan atom K2 yang lain hanya akan menghasilkan sebuah atom yang merepresentasikan sequence yaitu L2

= {(BF→A)}. Algoritme kemudian berpindah secara rekursif ke kumpulan atom L2 dan setelah

diketahui bahwa tidak ada lagi frequent

sequence yang lain yang bisa dibangkitkan dari

kumpulan L2, maka algoritme akan tracks back

ke kumpulan atom K2 sebelumnya dan

mengambil atom selanjutnya yakni (B→A). Atom (B→A) ini akan dilakukan proses join dengan sisa dari kumpulan atom K yang lain, dan berhubung tidak ada sisa dari kumpulan atom K2 yang lain, maka tidak ada frequent

sequence lain yang bisa dibangkitkan sehingga

algoritme tracks back ke kumpulan atom J sebelumnya. Proses ini akan berlangsung terus-menerus dengan pola yang sama hingga semua kumpulan atom selesai diproses. Fungsi

(13)

5

Enumerate-Frequent-Sequences adalah sebagai

berikut:

Enumerate-Frequent-Sequences

(Atomset, min_supp, Set Ƒ):

for all atoms Ai ϵ ɛ do

Ti ← {}

for all atoms Aj ϵ ɛ, j ≥ i

do α = Ai ⋁ Aj L(α) = L(Ai) ∩ L(Aj) if σ(α) ≥ min_supp then Ti ← Ti ⋃{α} Ƒ = Ƒ ⋃ α end if end for Enumerate-Frequent-Sequences (Ti,min_supp, Ƒ) end for Rule Generation

Rule Generation merupakan tahap pembentukan rule dari semua maximal frequent

sequences yang terbentuk. Semua sequences

yang merupakan subsequence dari sebuah

maximal frequent sequences yang terbentuk

akan dilakukan pembentukan rule dengan

maximal frequence sequence itu sendiri. Dari

semua kandidat rule yang ada akan dilakukan pengecekan apakah kandidat rule yang terbentuk tersebut memiliki confidence yang lebih besar atau sama dengan minimum

confidence yang diberikan. Apabila kandidat

rule tersebut memiliiki nilai confidence lebih besar atau sama dengan minimum confidence yang diberikan maka kandidat rule tersebut merupakan output rule yang diinginkan algoritme.

Sebagai ilustrasi, data yang terdapat pada Tabel 1 akan menghasilkan 2 maximal frequent

sequences yaitu (ABF) dan (D→BF→A).

Semua subsequences dari masing-masing

maximal frequent sequences tersebut akan dicari

untuk selanjutnya dilakukan pembentukan rule.

Sequence (ABF) memiliki enam subsequences,

yaitu (A), (B), (F), (AB), (AF), dan (BF). Dari keseluruhan subsequences tersebut, akan terbentuk sebanyak enam kemungkinan rule yaitu, (A)⇒(ABF), (B)⇒(ABF), (F)⇒(ABF), (AB)⇒(ABF), (AF)⇒(ABF), dan (BF)⇒(ABF). Penghitungan confidence setiap kemungkinan

rule dilakukan dengan membagi support dari maximal frequence sequences dengan support

dari subsequences. Sebagai contoh, penghitungan confidence untuk rule

(A)⇒(ABF) dilakukan dengan membagi

support (ABF) dengan support (A). Apabila

nilai confidence dari kemungkinan rule lebih besar atau sama dengan minimum confidence yang diberikan maka rule tersebut merupakan

rule yang sesuai dengan output algoritme Rule Generation. Algoritme Rule Generation adalah

sebagai berikut :

RuleGen( Ƒ, min_conf):

for all maximal frequent sequence β ϵ Ƒ do

for all subsequence atoms α≺β do

conf = fr (β) / fr (α) if (conf ≥ min_conf)then

output the rule α ⇒ β

Temporal join of id-lists

Temporal join adalah operasi dasar yang

digunakan ketika proses

enumerating-fequent-sequences (Zaki 2001). Misalkan [A→B]

merupakan sebuah equivalence class dengan atom {(A→BC), (A→BD), (A→B→A), (A→B→C)}. Misalkan P mewakili prefix (A→B) sehingga [P] dapat ditulis ulang sebagai {(PC), (PD), (P→A), (P→C)}. Penulisan ulang tersebut akan menghasilkan dua jenis atom, yaitu :

Event atoms {PC, PD}

Sequence atoms {(P→A), (P→C)} Operasi join dari atom di atas akan menghasilkan minimal tiga kemungkinan, antara lain sebagai berikut :

1. Event Atom dengan Event Atom

Jika operasi join antara PC dengan PD dilakukan, maka hanya akan menghasilkan

event atom yang baru yaitu PCD.

2. Event Atom dengan Sequence Atom

Jika operasi join dilakukan antara (PC) dengan (P→A), maka hanya akan menghasilkan sequences atom yang baru yaitu (PC→A).

3. Sequence Atom dengan Sequence Atom Jika operasi join dilakukan antara (P→A) dengan (P→C), maka akan menghasilkan tiga kemungkinan keluaran: sebuah event

atom (P→AC), dua sequences atoms

(P→A→C) dan (P→C→A). Kasus khusus akan timbul apabila operasi join dilakukan antara (P→A) dengan dirinya sendiri yang akan menghasilkan sequences atom yang baru yaitu (P→A→A).

Penghitungan support dari sequences hasil

(14)

6 apakah sequences tersebut frequent atau tidak.

Perhitungan support ini didasarkan pada jumlah sid yang berbeda yang terdapat pada id-list dari

sequences yang terbentuk dari hasil temporal join tersebut. Sebagai contoh, dari data hypothetical id-list atom sequence (P→A) dan

(P→C) yang terdapat pada Lampiran 2 dilakukan temporal join id-list untuk semua

sequences yang mungkin terbentuk yakni

(P→AC), (P→A→C), dan (P→C→A).

Penghitungan support dari id-list sequence (P→AC) dilakukan dengan memeriksa pasangan (sid,eid) yang sama antara (P→A) dan (P→C). Pasangan (sid,eid) yang memenuhi syarat dari data tersebut hanya ((8,30), (8,50), (8,80)) sehingga diperoleh id-list sequence (P→AC) adalah L(P→AC) = {(8,30), (8,50), (8,80)}. Penghitungan support dari id-list

sequence (P→A→C) dilakukan dengan memisalkan (sid, eid1) pada L(P→A) dan

kemudian memeriksa apakah terdapat pasangan (sid, eid2) pada L(P→C) dengan sid yang sama

tetapi eid2 > eid1, dan apabila terdapat pasangan yang memenuhi kriteria tersebut, ini berarti bahwa item C mengikuti item A untuk

sequence yang diidentifikasi berdasarkan sid. Sequence (P→C→A) dikonstruksi dengan cara

yang sama dengan membalik peran P→A dan P→C.

METODE PENELITIAN Proses Dasar Sistem

Proses dasar sistem mengacu pada proses dalam Knowledge Discovery from Data (KDD). Algoritme SPADE diterapkan pada tahap data

mining. Diagram alur metode penelitian dapat

dilihat pada Gambar 3. Tahapan KDD tersebut dapat diuraikan sebagai berikut :

1 Pembersihan data

Pembersihan data merupakan tahap yang dilakukan untuk menghilangkan noise dan data yang tidak konsisten. Pada tahap ini, transaksi yang terjadi pada waktu yang sama yang tercatat lebih dari satu kali akan dianggap sebagai satu transaksi. Selain itu, data yang tidak lengkap akan dibuang.

2 Seleksi data

Proses seleksi data merupakan proses pengambilan data yang relevan dengan proses analisis yang dilakukan. Pada tahap ini, akan dipilih atribut yang sesuai dengan kebutuhan algoritme, yaitu sid, eid, dan items.

3 Transformasi data

Data diubah ke dalam bentuk yang sesuai sebagai masukan bagi algoritme SPADE. Data diubah ke dalam bentuk numerik dan diurutkan secara menaik berdasarkan id customer (sid) dan waktu transaksi (eid).

4 Data mining

Tahap ini merupakan inti dari analisis data. Pada tahap ini diterapkan penggunaan algoritme

SPADE yang diperkenalkan oleh Mohammed J.

Zaki (2001).

Tahapan-tahapan yang akan digunakan pada metode tersebut, yaitu:

a Pemberian nilai minimum support

Pemberian nilai minimum support terhadap data merupakan syarat awal berjalannya algoritme. Nilai minimum support digunakan untuk menyaring nilai support bagi masing-masing frequent sequences setelah dilakukan proses komputasi menggunakan algoritme

SPADE. Nilai support yang lebih kecil dari nilai minimum support yang diberikan tidak akan

diperhitungkan.

b Penentuan frequent 1-sequences

Penentuan frequent 1-sequences merupakan langkah pertama dalam tahapan algoritme

SPADE. Pembentukan frequent 1-sequences

ditentukan berdasarkan nilai minimum support σ yang diberikan terhadap data. Semua item yang memiliki support lebih besar atau sama dengan nilai minimum support merupakan frequent

items yang disebut juga frequent 1-sequences.

Perhitungan support dari item didasarkan pada jumlah sid yang berbeda yang terdapat pada pasangan (sid, eid) atau yang disebut juga sebagai id-list dari item tersebut.

c Pembentukan frequent sequences

Pembentukan frequent sequences

merupakan tahap akhir dari algoritme SPADE. Pada tahap ini, semua frequent sequences mulai dari frequent 2-sequences hingga frequent

k-sequences dibangkitkan dengan menggunakan

fungsi Enumerate-Frequent-Sequences. 5 Evaluasi Pola

Pada tahap ini akan dievaluasi pola sekuensial mana yang dikatakan frequent

sequence dan mewakili pola pembelian items.

Evaluasi dilakukan dengan mencari maximal

frequent sequences dari seluruh frequent sequences yang ada.

(15)

7 6 Representasi Pengetahuan

Tahap ini merupakan tahap akhir dari proses KDD. Sederetan aturan atau rule disajikan kepada pengguna dengan menggunakan algoritme Rule Generation.

Transformasi data Data transaksi

Representasi Pengetahuan Pembentukan frequent sequences Penentuan frequent 1-sequences

Evaluasi Pola Pemberian nilai minimum support

Apakah terdapat K+1 sequences ? Output Selesai Mulai Ya Tidak Data Mining Seleksi data Pembersihan data

Gambar 3 Diagram alur metode penelitian.

Lingkungan Pengembangan Sistem

Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam pengembangan sistem adalah sebagai berikut :

a. Perangkat keras dengan spesifikasi :

Processor : Intel(R) Core(TM) 2 Duo

Memory : 1 GB

Harddisk : 160 GB

 Monitor 14” dengan resolusi 1024 x 768 pixel

Alat input : mouse dan keyboard b. Perangkat lunak yang digunakan :

 Sistem Operasi : Microsoft Windows 7 Professional

 Microsoft Excel 2007 sebagai lembar kerja (worksheet) dalam pengolahan data

 Microsoft Visual Studio 2010 sebagai IDE pembangunan sistem.

 C++ dan C# sebagai bahasa pemrograman

HASIL DAN PEMBAHASAN

Pada penelitian ini, data yang digunakan adalah data transaksi pembelian Sinar Mart Swalayan selama periode waktu 1 Maret hingga 31 Maret 2004. Data transaksi pembelian yang didapat memiliki tiga atribut yaitu, customer id (sid), waktu transaksi (eid), dan barang yang dibeli (items). Data didapat dalam format Microsoft Excel (transaksi_maret2004.xlsx). Deskripsi sampel data transaksi pembelian Sinar Mart Swalayan dapat dilihat pada Lampiran 3.

Sebelum dilakukan proses mining, data harus melewati tahap praproses (preprocessing) terlebih dahulu yang meliputi pembersihan data, seleksi data, dan transformasi data. Tahapan praproses dilakukan agar data benar-benar lengkap, valid, dan sesuai dengan masukan yang dibutuhkan algoritme.

Pembersihan Data

Pembersihan data dilakukan untuk menghilangkan noise. Sebagai contoh, apabila pembelian barang yang sama pada waktu yang sama tercatat dua kali, maka pembelian barang tersebut dianggap hanya satu kali dan apabila terdapat data yang tidak sesuai dengan data yang ada di Sinar Mart Swalayan maka data tersebut akan dibuang. Pembersihan data pada penelitian ini tidak dilakukan karena data yang didapatkan sudah tidak memiliki noise dan sesuai dengan kebutuhan algoritme.

Seleksi Data

Proses seleksi data merupakan proses pengambilan data yang relevan dengan proses analisis yang dilakukan. Pada tahap ini, akan dipilih atribut yang sesuai dengan kebutuhan algoritme. Seleksi data pada penelitian ini tidak dilakukan karena atribut yang terdapat pada data transaksi pembelian, yaitu sid, eid, dan

(16)

8

Transformasi Data

Pada tahap ini dilakukan beberapa proses transformasi data, yaitu :

1. Konversi waktu transaksi (eid) ke dalam bentuk numerik. Waktu transaksi (eid) yang semula berformat date diubah menjadi numerik dengan mengganti format date menjadi number yang terdapat pada Microsoft Excel.

2. Konversi items ke dalam bentuk numerik.

Items yang dibeli oleh pembeli diubah ke

dalam bentuk numerik dengan memberikan kode yang dimulai dari 1 hingga 35. Mie instan dikodekan dengan 1, minyak goreng dikodekan dengan 2, demikian halnya dengan jenis barang lain. Format items yang dikonversi ke dalam bentuk numerik dapat dilihat pada Lampiran 4. Data hasil konversi terdiri atas 11.866 baris, 308 pembeli yang berbeda dan 35 items yang berbeda. Sampel data transaksi pembelian setelah praproses dapat dilihat pada Lampiran 5. 3. Data yang memiliki format Microsoft

Excel (transaksi_maret2004.xlsx) kemudian diubah ke dalam format text (transaksi_maret2004.txt) sebagai masukan bagi algoritme SPADE.

Data Mining

Tahapan data mining diterapkan dengan menggunakan algoritme SPADE (Zaki 2001). Secara garis besar, proses ini dibagi menjadi 2 bagian besar, yaitu melakukan proses komputasi untuk mendapatkan frequent 1-sequences dengan nilai support lebih besar atau sama dengan minimum support. Frequent

1-sequences yang dihasilkan akan bertindak

sebagai parent class pada proses pembentukan

frequent sequences. Kedua, melakukan proses

pembentukan frequent sequences berukuran k yang didapatkan dari kombinasi frequent

sequences berukuran k-1 dengan menerapkan

fungsi Enumerate Frequent sequences.

Proses ini akan berhenti jika tidak memungkinkan lagi untuk melakukan proses pembentukan (k+1)-sequences. Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan yang telah melewati tahap praproses sebanyak 11.866 record.

a Pemberian minimum support

Sebagai syarat awal berjalannya algoritme, pengguna harus terlebih dahulu memberikan nilai minimum support. Nilai minimum support digunakan untuk menyaring nilai support bagi

masing-masing frequent sequences setelah dilakukan proses komputasi menggunakan algoritme SPADE. Nilai support yang lebih kecil dari nilai minimum support yang diberikan tidak akan diperhitungkan.

Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004. Pada awalnya, nilai minimum support yang diberikan pada percobaan ini dimulai dari 10% hingga batas maksimum minimum support yang masih bisa membangkitkan frequent

sequences dengan penambahan minimum support sebesar 1%. Namun, proses pembentukan frequent sequences dengan menggunakan nilai minimum support yang dimulai dari 10% hingga minimum support yang lebih kecil dari 45% membutuhkan waktu eksekusi yang sangat lama sehingga pemberian nilai minimum support yang dimulai dari 45% hingga batas maksimum yang masih bisa membangkitkan frequent sequences merupakan pemberian minimum support yang paling ideal untuk penelitian ini. Pembentukan frequent

sequences dengan pemberian nilai minimum support mulai dari 10% hingga nilai minimum support yang lebih kecil dari 45% membutuhkan waktu eksekusi yang lama. Hal ini disebabkan oleh keterbatasan spesifikasi perangkat keras yang digunakan dalam penelitian ini.

b Penentuan frequent 1-sequences

Penentuan frequent 1-sequences merupakan langkah pertama dalam tahapan algoritme

SPADE setelah pemberian minimum support.

Semua item yang memiliki support lebih besar atau sama dengan nilai minimum support yang diberikan merupakan frequent items yang disebut juga frequent 1-sequences.

Perhitungan support dari item didasarkan pada jumlah sid yang berbeda yang terdapat pada pasangan (sid, eid) atau yang disebut juga sebagai id-list dari item tersebut. Untuk tahap selanjutnya, semua item yang merupakan

frequent 1-sequences akan menjadi parent class

dalam pembentukan frequent k-sequences. Dalam proses pembentukan frequent k-sequences, semua frequent sequences yang

terbentuk disebut juga sebagai frequent atoms. Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004 dengan memberikan nilai minimum

support mulai dari 45% hingga batas maksimum yang masih bisa membangkitkan

frequent sequences yaitu 89%. Semua frequent

(17)

masing-9 masing nilai minimum support tidak langsung

ditampilkan karena masih digunakan pada proses pembentukan frequent k-sequences untuk mendapatkan semua frequent sequences.

c Pembentukan frequent sequences

Pada tahap ini, metode sequential pattern

mining diterapkan untuk membangkitkan semua

kemungkinan frequent sequence dengan menggunakan fungsi Enumerate-Frequent-Sequences yang terdapat pada algoritme SPADE.

Sebuah sequence berukuran k merupakan kombinasi dari sequences berukuran k-1

Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004. Percobaan dilakukan dengan memberikan nilai minimum support mulai dari 45% atau sekitar 138 transaksi yang dilakukan pembeli yang berbeda hingga batas maksimum yang masih bisa membentuk frequent sequences dengan penambahan nilai minimum support sebesar 1%. Dari data hasil percobaan diperoleh bahwa jumlah frequent sequences yang terbentuk bervariasi. Data percobaan dengan nilai minimum support 45% menghasilkan

frequent sequences sebanyak 1.902 frequent sequences. Nilai minimum support tertinggi

hingga masih terbentuk frequent sequences adalah 89% dengan jumlah frequent sequnces sebanyak satu. Hasil lengkap pembentukan

frequent sequences yang terbentuk dari data

transaksi pembelian Sinar Mart Swalayan periode Maret 2004 dapat dilihat pada Lampiran 6.

Pada beberapa minimum support yang digunakan pada saat percobaan, ternyata

frequent sequence tidak terbentuk. Hal ini

disebabkan karena tidak adanya frequent

1-sequences yang terbentuk. Tidak terbentuknya frequent 1-sequences disebabkan oleh tidak ada

satu pun item atau barang yang memiliki

support yang lebih besar atau sama dengan minimum support yang diberikan.

Berdasarkan data hasil percobaan pada Lampiran 6, dapat dilihat bahwa semakin besar nilai minimum support yang diberikan maka akan semakin sedikit jumlah frequent sequences yang terbentuk.

Waktu eksekusi yang diperlukan untuk membentuk frequent sequence sangat dipengaruhi minimum support yang digunakan. Perbandingan waktu eksekusi yang diperlukan untuk membentuk frequent sequences dari seluruh percobaan yang telah dilakukan dapat dilihat pada Gambar 4.

Gambar 4 Grafik waktu eksekusi. Berdasarkan Gambar 4, semakin tinggi nilai

minimum support yang diberikan maka semakin

cepat waktu yang diperlukan untuk membentuk

frequent sequences. Hal ini disebabkan semakin

besar nilai minimum support maka akan semakin sedikit sequences yang membentuk

frequent sequences sehingga waktu komputasinya akan semakin cepat.

Evaluasi Pola

Seluruh frequent sequences yang dihasilkan pada tahap data mining kemudian dievaluasi untuk mendapatkan pola sekuensial. Evaluasi dilakukan dengan mencari maximal frequent

sequences dari seluruh frequent sequences yang

ada. Suatu pola sekuensial dikatakan maksimal apabila pola sekuensial tersebut tidak termuat pada pola sekuensial lainnya.

Dari seluruh pola sekuensial yang terbentuk diambil pola sekuensial dengan jumlah

k-sequences maksimal pada nilai minimum support tertinggi yang dilakukan selama tahap

percobaan.

Suatu pola sekuensial dikatakan sering terjadi apabila pola sekuensial tersebut memiliki nilai support yang tinggi. Daftar pola sekuensial yang sering terjadi dari seluruh percobaan yang yang telah dilakukan pada data transaksi pembelian Sinar Mart Swalayan periode Maret 2004 dapat dilihat pada Tabel 2.

Dari evaluasi pola yang terdapat pada Tabel 2, diperoleh informasi sebagai berikut:

 Nilai minimum support tertinggi yang masih bisa membentuk maximal frequent sequences adalah 89% dengan panjang sequences adalah 1-sequence.

 Item yang paling sering dibeli oleh pembeli Sinar Mart Swalayan adalah snack (8) dengan support sebesar 89%.

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 45 50 55 60 65 70 75 80 85 89 Wak tu Ek se k u si (m il id e ti k ) Minimum Support (%)

(18)

10 Tabel 2 Daftar pola sekuensial yang sering terjadi

Minimum Support

(%)

Panjang Sequence

maksimal Contoh Sequence

45-47 7-sequence <8><8><8><8><8><7><8> 48-54 6-sequence <8><8><8><8><8><8> 55-59 5-sequence <8><8><8><8><8> 60-62 4-sequence <8><8><7><8> 63-65 3-sequence <8><3><8> 66-73 2-sequence <3,8> 74-89 1-sequence <8> Representasi Pengetahuan

Representasi pengetahuan dari pola sekuensial yang dihasilkan diperlukan agar pola yang ada mudah dimengerti dan diinterpretasikan. Berdasarkan hasil presentasi diharapkan dapat diperoleh pengetahuan yang berharga dari koleksi data yang telah dilakukan proses mining. Tahap representasi pengetahuan dilakukan dengan membentuk rule

menggunakan algoritme Rule Generation. Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004. Percobaan dilakukan dengan mencari kemungkinan minimum confidence maksimal untuk setiap minimum support dimulai dari 45% hingga batas maksimal minimum confidence yang masih bisa membangkitkan rule. Dari data hasil percobaan diperoleh bahwa banyaknya

rule yang terbentuk dari berbagai kombinasi

nilai minimum support dengan nilai minimum

confidence bervariasi. Hasil pembentukan rule

dapat dilihat pada Tabel 3.

Data hasil percobaan yang terdapat pada Tabel 3 menunjukkan bahwa:

 Nilai minimum confidence tertinggi yang masih bisa membentuk rule adalah 96% dengan nilai maksimal minimum support nya sebesar 56%.

 Nilai minimum support tertinggi yang masih bisa membentuk rule adalah 73% dengan nilai maksimal minimum confidence sebesar 89% dan jumlah rule yang terbentuk sebanyak satu buah yaitu (susu) ==> (susu,

snack). Rule (susu) ==> (susu, snack) yang

memiliki confidence sebesar 89% mengandung arti bahwa apabila pembeli Sinar Mart Swalayan membeli susu maka peluang snack juga dibeli oleh pembeli tersebut adalah sebesar 89%.

Berdasarkan hasil penelitian, terdapat beberapa saran bagi pengelola Sinar Mart Swalayan, yaitu :

 Menempatkan susu dan snack secara berdekatan pada rak yang sama sehingga pembeli dapat dengan mudah menjangkau kedua produk tersebut.

 Memperbanyak variasi susu dan snack sehingga dapat menarik perhatian pembeli.  Sebagai upaya untuk meningkatkan

penjualan barang yang kurang laku, pihak pengelola Sinar Mart Swalayan juga dapat menerapkan modus setiap pembelian beberapa barang yang kurang laku, pembeli akan mendapatkan bonus snack atau susu. Hal ini akan sangat menarik minat pembeli karena disamping mendapatkan suatu barang, keinginan mereka untuk menikmati

snack dan susu juga terpuaskan tanpa harus

(19)

11 Tabel 3 Hasil pembentukan rule

Minimum Support (%)

Confidence

Tertinggi (%)

Jumlah rule

yang terbentuk Contoh rule

45-49 96 1 <8><8><7><1> ==> <8><8><7><8><1> 50-51 95 2 <7,8><7><8> ==> <7,8><8><7><8> <6><7><7> ==> <6><8><7><7> 52-56 96 1 <8><7><8><8> ==> <8><8><7><8><8> 57-62 95 3 <8><8><8> ==> <8><8><8><8> <8><7><8> ==> <8><8><7><8> <8><8><7> ==> <8><8><7><8> 63 94 1 <3><7> ==> <3><7><8> 64-65 93 3 <8><3> ==> <8><3><8> <7><8> ==> <8><7><8> <3><8> ==> <8><3><8> 66-73 89 1 <3> ==> <3,8>

Untuk melakukan proses pembentukan

frequent sequences dan juga pembentukan rule,

telah dibangun sebuah aplikasi sederhana dengan menggunakan C++ dan C# sebagai bahasa pemrograman dan Visual Studio 2010 sebagai IDE pembangunan aplikasi. Salah antarmuka grafis dari aplikasi tersebut dapat dilihat pada Gambar 5.

Gambar 7 Antarmuka grafis aplikasi utama.

KESIMPULAN DAN SARAN Kesimpulan

Dari hasil percobaan dengan penerapan algoritme SPADE yang dilakukan terhadap data transaksi pembelian di Sinar Mart Swalayan diperoleh kesimpulan bahwa nilai minimum

support tertinggi hingga masih terbentuk

frequent sequence terjadi pada nilai minimum support 89% dengan frequent sequence yang

terbentuk sebanyak satu buah yang sekaligus merupakan maximal frequent sequences. Maximal frequent sequences yang terbentuk

ketika minimum support yang diberikan sebesar 89% adalah sequence yang panjang sequence nya 1 (frequent 1-sequences) yaitu (<8>) atau (<snack>). Frequent sequences yang hanya memiliki satu item menandakan bahwa item tersebut merupakan item yang paling sering dibeli oleh pembeli.

Dari hasil percobaan juga diperoleh bahwa nilai minimum confidence tertinggi hingga masih bisa membentuk rule adalah 96% dengan nilai maksimal minimum support sebesar 56%. Nilai minimum support tertinggi yang masih bisa membentuk rule adalah 73% dengan nilai maksimal minimum confidence sebesar 89% dengan jumlah rule yang terbentuk sebanyak satu buah yaitu (susu) ==> (susu, snack). Hal ini menunjukkan bahwa susu dan snack merupakan barang yang paling sering dibeli oleh pembeli Sinar Mart Swalayan.

Untuk meningkatkan penjualan, pihak pengelola Sinar Mart Swalayan sebaiknya menempatkan susu dan snack berdekatan sehingga pembeli dapat dengan mudah menjangkau kedua barang tersebut. Selain itu, pihak pengelola Sinar Mart Swalayan juga dapat meningkatkan penjualan dengan cara memperbanyak variasi susu dan snack. Sebagai upaya untuk meningkatkan penjualan barang yang kurang laku, pihak pengelola Sinar Mart Swalayan juga dapat menerapkan modus setiap pembelian beberapa barang yang kurang laku tersebut, pembeli akan mendapatkan bonus

snack atau susu. Hal ini akan sangat menarik

(20)

12 suatu barang, keinginan mereka untuk

menikmati snack dan susu juga terpuaskan tanpa harus membeli.

Saran

Penerapan algoritme SPADE pada data transaksi pembelian Sinar Mart Swalayan yang hanya terdiri atas pembelian selama kurun waktu satu bulan masih belum bisa mewakili pola pembelian yang sesungguhnya yang terjadi di Sinar Mart Swalayan. Terdapat beberapa faktor lain yang mempengaruhi pola pembelian suatu barang, di antaranya musim, dan juga hari besar keagamaan sehingga pengambilan data dalam kurun waktu satu bulan belum relevan untuk menunjukkan pola pembelian yang sesungguhnya. Oleh karena itu, diharapkan pada penelitian selanjutnya dilakukan analisis terhadap data yang lebih besar dan mewakili setiap bulan selama satu tahun sehingga diperoleh gambaran nyata dari pola pembelian yang sesungguhnya.

Gambaran nyata yang terlihat dari pola sekuensial yang terbentuk dapat dijadikan sebagai acuan untuk mengambil kebijakan terkait dengan data tersebut. Disamping itu, analisis terhadap data transaksi pembelian juga dapat dilakukan dengan menerapkan algoritme lain seperti PrefixSpan serta membandingkan hasil percobaan yang diperoleh dengan penerapan algoritme SPADE yang dilakukan pada penelitian ini sehingga dapat dilihat perbedaan antara algoritme SPADE dengan algoritme lain. Perbedaan antara algoritme tersebut dapat dilihat dari waktu eksekusi yang dibutuhkan untuk membentuk pola sekuensial.

Algoritme SPADE juga dapat diterapkan pada data log akses server suatu situs web untuk melihat pola kunjungan dari situs web tersebut. Atribut dari data log akses server web yang dapat dijadikan sebagai masukan bagi algoritme

SPADE, yaitu alamat IP sebagai sid, date /

waktu pengaksesan sebagai eid, dan URL yang dikunjungi sebagai items.

DAFTAR PUSTAKA

Davey, B. A. & Priestley, H. A. 1990.

Introduction to lattices and order.

Cambridge: Cambridge University Press. Han J & Kamber M. 2006. Data Mining:

Concept and Techniques. Edisi ke-2. San

Diego, USA: Morgan-Kauffman.

Santoso B. 2007. Data Mining: Teknik

Pemanfaatan Data untuk Keperluan Bisnis.

Yogyakarta: Graha Ilmu.

Zaki, M. J. 2001. SPADE: An efficient algorithm for mining frequent sequences.

(21)

13

(22)

14 Lampiran 1 Struktur hyper-lattice berdasarkan equivalence class

A ABF AF AB BF D->BF->A B D->F D->F->A { } F->A BF->A B->A D->B D->B->A F D D->A D->BF

(23)

15 Lampiran 2 Temporal id-list join

P->A->C

SID

EID

1

70

1

80

8

30

P->A

P->C

8

40

SID

EID

SID

EID

8

50

1

20

1

70

8

80

1

30

1

80

20

20

1

40

3

10

P->C->A

4

60

5

70

SID

EID

7

40

8

30

8

50

8

10

8

40

8

80

8

30

8

50

13

50

8

50

8

80

13

70

8

80

11

30

13

50

13

10

P->AC

13

70

16

80

SID

EID

15

60

20

20

8

30

17

20

8

50

20

10

8

80

(24)

16 Lampiran 3 Deskripsi sampel data transaksi pembelian Sinar Mart Swalayan

eid sid items

01/03/2004 00001 mie instant 01/03/2004 00001 makanan pokok 01/03/2004 00001 susu bayi 01/03/2004 00001 obat 01/03/2004 00004 mie instant 01/03/2004 00004 minyak goreng 01/03/2004 00004 kopi 01/03/2004 00004 makanan pokok 01/03/2004 00004 saus kecap 01/03/2004 00004 sabun 01/03/2004 00004 obat 01/03/2004 00014 permen 01/03/2004 00014 snack 01/03/2004 00017 susu 01/03/2004 00017 softdrink 01/03/2004 00018 mie instant 01/03/2004 00018 obat 01/03/2004 00020 permen 01/03/2004 00020 softdrink 01/03/2004 00020 snack 01/03/2004 00020 rokok 01/03/2004 00022 susu 01/03/2004 00022 softdrink 01/03/2004 00022 snack 01/03/2004 00023 permen 01/03/2004 00023 softdrink 01/03/2004 00027 susu 01/03/2004 00027 susu bayi 01/03/2004 00029 mie instant 01/03/2004 00029 tissue 01/03/2004 00031 susu 01/03/2004 00031 snack 01/03/2004 00031 susu bayi 01/03/2004 00031 perlengkapan bayi 01/03/2004 00034 mie instant 01/03/2004 00034 ice cream 01/03/2004 00039 makanan pokok 01/03/2004 00039 obat 01/03/2004 00041 handuk 01/03/2004 00041 tissue 01/03/2004 00041 korek 01/03/2004 00043 susu 01/03/2004 00043 snack 01/03/2004 00043 makanan kaleng 01/03/2004 00045 permen 01/03/2004 00045 snack 01/03/2004 00046 snack

(25)

17 Lampiran 4 Format konversi items ke dalam bentuk numerik

items kode mie instant 1 minyak goreng 2 susu 3 kopi 4 makanan pokok 5 permen 6 softdrink 7 snack 8 pelengkap roti 9 saus kecap 10 makanan kaleng 11 lotion 12 sabun 13 shampo 14 obat nyamuk 15 pengharum ruangan 16 bumbu dapur 17 tepung 18 susu bayi 19 rokok 20 baterai 21 ice cream 22 sosis 23 Perlengkapan komputer 24 obat 25 pasta gigi 26 multivitamin 27 perlengkapan bayi 28 handuk 29 perlengkapan dapur 30 tissue 31 sandal 32 korek 33 pembersih lantai 34 pencuci piring 35

(26)

18 Lampiran 5 Sampel data transaksi pembelian setelah praproses

sid eid items

1 38047 1 1 38047 5 1 38047 19 1 38047 25 1 38047 3 1 38047 25 1 38049 3 1 38049 8 1 38050 1 1 38050 7 1 38050 8 1 38051 8 1 38051 28 1 38055 7 1 38055 8 1 38057 12 1 38057 31 1 38057 35 1 38058 3 1 38058 4 1 38058 6 1 38058 7 1 38058 8 1 38058 19 1 38058 20 1 38058 25 1 38058 31 1 38060 6 1 38060 7 1 38060 8 1 38060 16 1 38063 13 1 38063 26 1 38064 8 1 38064 23 1 38064 31 1 38065 1 1 38065 2

(27)

19 Lampiran 6 Hasil pembentukan frequent sequences

Minimum Support (%) Jumlah Frequent Sequences

45 1.902 46 1.571 47 1.292 48 1.062 49 882 50 671 51 546 52 459 53 370 54 309 55 251 56 208 57 162 58 141 59 105 60 88 61 69 62 56 63 41 64 33 65 29 66 24 67 19 68 16 69 15 70 11 71 9 72 7 73 6 74 5 75 4 76 4 77 4 78 4 79 4 80 4 81 3 82 3 83 2 84 2

(28)

20 Lanjutan

Minimum Support (%) Jumlah Frequent Sequences

85 1

86 1

87 1

88 1

Gambar

Tabel 1 Sampel database vertikal
Gambar 3 Diagram alur metode penelitian.
Gambar 4 Grafik waktu eksekusi.
Gambar 7 Antarmuka grafis aplikasi utama.

Referensi

Dokumen terkait

Dulu pernah ada aduan masyarakat yang melaporkan agar menangkap (mengamankan) orang gila, karena mengganggu ketertiban umum, tapi perlu waktu

Berdasarkan penelitian yang telah dilaksanakan sebelumnya di lokasi pengabdian yaitu SMP Muhammadiyah 1 Sukoharjo mengenai tingkat kesiapsiagaan komunitas sekolah

BILANGAN CACAH. Ada dua konsep bilangan cacah yaitu operasi hitung penjumlahan bilangan cacah dan operasi hitung pengurangan bilanagn cacah. Operasi Hitung

Orang asing yang telah berjasa kepada negara Republik Indonesia atau dengan alasan kepentingan negara dapat diberi Kewarganegaraan Republik Indonesia oleh Presiden setelah memperoleh

Pada tahap ini silabus, RPP, dan bahan ajar disusun. Baik silabus, RPP, dan bahan ajar dirancang agar muatan maupun kegiatan pembelajarannya

Sebagaimana proses perencanaan pembelajaran yang membutuhkan pertimbangan yang cermat, kegiatan pembelajaran juga membutuhkan keahlian dan ketrampilan khusus

Sementara eksploitasi sumberdaya moluska oleh nelayan di 4 kecamatan paling tinggi terdapat di Kecamatan Sangatta Utara yaitu sebesar 80,9% dari total biomassa ikan yang ada

Dengan demikian dapat dikatakan bahwa sudah tidak ditemukan lagi parasit pada 7 orang penderita malaria tersangka endigenous di Dusun Bakal, Desa Campurejo, Kecamatan Tretep,