BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
UNIVERSITAS INDONESIA PENCARIAN POLA SEKUENSIAL MENGGUNAKAN ALGORITMA APRIORI ALL SKRIPSI FANDI

2.2 Data Mining. Universitas Sumatera Utara

ASSOCIATION RULES PADA TEXT MINING

PREDIKSI KEBUTUHAN PENOMORAN PADA JARINGAN TELEKOMUNIKASI MENGGUNAKAN METODE APRIORI

ALGORITMA GENERALIZED SEQUENTIAL PATTERN UNTUK MENGGALI DATA SEKUENSIAL SIRKULASI BUKU PADA PERPUSTAKAAN UK PETRA

MERANCANG SISTEM APLIKASI RULE PENGETAHUAN MENGGUNAKAN ALGORITMA APRIORI PADA TRANSAKSI SWALAYAN HARYS PERDANA NGANJUK SKRIPSI

PENGENALAN POLA TRANSAKSI SIRKULASI BUKU PADA DATABASE PERPUSTAKAAN MENGGUNAKAN ALGORITMA GENERALIZED SEQUENTIAL PATTERN

BAB 2 LANDASAN TEORI

ALGORITMA GENERALIZED SEQUENTIAL PATTERN UNTUK MENGGALI DATA SEKUENSIAL SIRKULASI BUKU PADA PERPUSTAKAAN UK PETRA

PENDAHULUAN. Latar Belakang

ASSOCIATION RULES PADA TEXT MINING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Data mining memungkinkan penemuan pola-pola yang menarik, informasi yang

Pengembangan Aplikasi Market Basket Analysis Menggunakan Algoritma Generalized Sequential Pattern pada Supermarket

BAB II TINJAUAN PUSTAKA

Rancang Bangun Fitur Rekomendasi Buku Menggunakan Algoritma PrefixSpan pada Sistem Peminjaman Buku Berbasis Web di Perpustakaan Universitas Ciputra

Cust. 1 : milk, bread, cereal. Cust. 2 : milk, bread, Sugar, eggs. Cust. 3 : milk, bread, butter

Penentuan Pola Sekuensial pada Data Transaksi Perpustakaan IPB Menggunakan Algoritma Graph Search Techniques

ASSOCIATION RULES PADA TEXT MINING

BAB I PENDAHULUAN. 1.1 Latar Belakang

Mining Association Rules dalam Basis Data yang Besar

BAB I PENDAHULUAN. 1.1 Latar Belakang

SEQUENTIAL PATTERN MINING DENGAN SPADE UNTUK PREDIKSI PEMBELIAN SPARE PART DAN AKSESORIS KOMPUTER PADA KEDATANGAN KEMBALI KONSUMEN

PENERAPAN ALGORITMA APRIORI DALAM PERANGKAT LUNAK DATA BASE Amroni, S.Kom, M.Kom

BAB 2 TELAAH PUSTAKA

TINJAUAN PUSTAKA Data Mining

BAB 2 LANDASAN TEORI. Pada bab ini akan dibahas tentang konsep dasar dan teori-teori pendukung yang berhubungan dengan sistem yang akan dibangun.

PENERAPAN METODE ASOSIASI MENGGUNAKAN ALGORITMA APRIORI PADA APLIKASI ANALISA POLA BELANJA KONSUMEN (Studi Kasus Toko Buku Gramedia Bintaro)


Pembuatan Perangkat Lunak Data Mining Untuk Penggalian Kaidah Asosiasi Menggunakan Metode Apriori

Link Analysis (Superset) 3 Kategori Link Analysis (#1) 3 Kategori Link Analysis (#2) Association Rule Mining. 3 Kategori Link Analysis (#3)

APLIKASI PENGGALIAN POLA SEKUENSIAL INTERVAL WAKTU FUZZY PADA PROSES BISNIS ERP MENGGUNAKAN ALGORITMA FP-GROWTH-PREFIXSPAN

PENERAPAN ALGORITMA APRIORI DALAM MEMPREDIKSI PERSEDIAAN BUKU PADA PERPUSTAKAAN SMA DWI TUNGGAL TANJUNG MORAWA

BAB III ANALISA DAN DESAIN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENGEMBANGAN APLIKASI PENENTUAN TINGKAT KEUNTUNGAN PADA E- COMMERCE DENGAN MENGGUNAKAN ALGORITMA K-MEANS DAN APRIORI

Data Mining. Tidak. Mulai. Data transaksi. Pembersihan data. Seleksi data. Transformasi data. Pemberian nilai minimum support

PEMBUATAN PERANGKAT LUNAK DATA MINING UNTUK PENGGALIAN KAIDAH ASOSIASI MENGGUNAKAN METODE APRIORI

BAB II TINJAUAN PUSTAKA. Turban mendefinisikan Decision Support System sebagai sekumpulan

BAB II LANDASAN TEORI. Anindita Dwi Respita,2015. a. Penelitian ini menjelaskan tentang tujuan : menggunakan metode market basket analysis.

Cross-Selling: Perangkat Utama Customer Relationship Managem. Meningkatkan Loyalitas Pelanggan

BAB IV METEDOLOGI PENELITIAN

MATERI PRAKTIKUM PRAKTIKUM 4 ANALISA AR-MBA (ASSOCIATION RULE - MARKET BASKET ANALYSIS)

ASSOCIATION RULE. Rachmat Selamet. Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132

PERSYARATAN PRODUK. 1.1 Pendahuluan Latar Belakang Tujuan

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. Teknologi Informasi sekarang ini telah digunakan hampir di semua aspek

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGGALIAN TOP-K CLOSED FREQUENT ITEMSETS BERBASIS ALGORITMA PEMETAAN TRANSAKSI

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

IMPLEMENTASI DATA MINING DENGAN ALGORITMA APRIORI PADA TOKO BANGUNAN UD. RUFI SENTOSA JAYA SAMBIREJO - PARE

II. TINJAUAN PUSTAKA

PENERAPAN DATA MINING MENGGUNAKAN ALGORITMA FP-TREE DAN FP-GROWTH PADA DATA TRANSAKSI PENJUALAN OBAT

Pembentukan Temporal Association Rules Menggunakan Algoritma Apriori (Studi Kasus:Toko Batik Diyan Solo)

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

SISTEM SISTEM REKOMENDASI BIDANG MINAT MAHASISWA MENGGUNAKAN METODE ASSOCIATION RULE DAN ALGORITMA APRIORI

BAB 1 PENDAHULUAN. retail di Indonesia pada semester I 2010 telah mencapai Rp 40 triliun. Omzet perusahaan

ANALISIS KETERKAITAN DATA TRANSAKSI PENJUALAN BUKU MENGGUNAKAN ALGORITMA APRIORI DAN ALGORITMA CENTROID LINKAGE HIERARCHICAL METHOD (CLHM)

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

PENCARIAN ATURAN ASOSIASI MENGGUNAKAN ALGORITMA APRIORI SEBAGAI BAHAN REKOMENDASI STRATEGI PEMASARAN PADA TOKO ACIICA

PENENTUAN POLA SEKUENSIAL PADA DATA TRANSAKSI PERPUSTAKAAN IPB MENGGUNAKAN ALGORITMA GRAPH SEARCH TECHNIQUES HAMZAH AGUNG

ANALISIS DAN IMPLEMENTASI DATA MINING DENGAN CONTINUOUS ASSOCIATION RULE MINING ALGORITHM (CARMA) UNTUK REKOMENDASI MATA KULIAH PADA PERWALIAN

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI. yang akan diteliti. Pemanfaatan algoritma apriori sudah cukup banyak digunakan, antara lain

RANCANG BANGUN SISTEM PENGAMBILAN KEPUTUSAN UNTUK PREDIKSI PEMBELIAN BARANG PADA DISTRIBUTOR LUKCY JAYA MOTOR BERBASIS WEB MENGGUNAKAN METODE APRIORI

SKRIPSI TI S1 FIK UDINUS 1

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB III METODE PENELITIAN. Metode penelitian merupakan suatu prosedur beserta tahapan-tahapan yang

Abstrak. Data Mining, Algoritma Apriori, Algoritma FP-Growth, Mata Pelajaran, Pemrograman, Web Programming, Matematika, Bahasa Inggris.

IMPLEMENTASI ALGORITMA APRIORI UNTUK MENEMUKAN FREQUENT ITEMSET DALAM KERANJANG BELANJA

BAB II TINJAUAN STUDI DAN LANDASAN TEORI


IMPLEMENTASI ALGORITMA FP- GROWTH MENGGUNAKAN ASSOCIATION RULE PADA MARKET BASKET ANALYSIS

PENDAHULUAN TINJAUAN PUSTAKA

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah Identifikasi Masalah Masalah Umum

ALGORITMA PARALEL FP-GROWTH UNTUK PENGGALIAN KAIDAH ASOSIASI PADA JARINGAN KOMPUTER

SEQUENTIAL PATTERN MINING PADA PENCARIAN POLA PERILAKU PENGGUNA INTERNET MENGGUNAKAN ALGORITMA SPADE

Journal of Informatics and Technology, Vol 2, No 2, Tahun 2013, p

BAB II TINJAUAN PUSTAKA. Bab ini menguraikan tentang teori-teori penunjang yang dipakai dalam

2.1 Penelitian Terkait

RANCANG BANGUN APLIKASI DATA MINING ANALISIS TINGKAT KELULUSAN MENGGUNAKAN ALGORITMA FP-GROWTH (Studi Kasus Di Politeknik Negeri Malang)

IMPLEMENTASI ALGORITMA-ALGORITMA ASSOCIATION RULES SEBAGAI BAGIAN DARI PENGEMBANGAN DATA MINING ALGORITHMS COLLECTION

Aplikasi Data Mining untuk meneliti Asosiasi Pembelian Item Barang di Supermaket dengan Metode Market Basket Analysis

BAB II TINJAUAN PUSTAKA. pengetahuan di dalam database. Data mining adalah proses yang menggunakan

PERBANDINGAN ALGORITMA APRIORI DAN ALGORITMA FP-GROWTH UNTUK PEREKOMENDASI PADA TRANSAKSI PEMINJAMAN BUKU DI PERPUSTAKAAN UNIVERSITAS DIAN NUSWANTORO

SISTEM REKOMENDASI PAKET MAKANAN DENGAN ALGORITMA FP-GROWTH PADA RESTORAN SEAFOOD XYZ

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

PENERAPAN ASSOCIATION RULE MINING PADA DATA NOMOR UNIK PENDIDIK DAN TENAGA KEPENDIDIKAN

PENGGALIAN KAIDAH MULTILEVEL ASSOCIATION RULE DARI DATA MART SWALAYAN ASGAP

ANALISA DAN PERANCANGAN APLIKASI ALGORITMA APRIORI UNTUK KORELASI PENJUALAN PRODUK (STUDI KASUS : APOTIK DIORY FARMA)

BAB II TINJAUAN PUSTAKA

ANALISA PENCARIAN FREQUENT ITEMSETS MENGGUNAKAN ALGORITMA FP-MAX

Penelitian ini melakukan pencarian

DATA MINING ANALISA POLA PEMBELIAN PRODUK DENGAN MENGGUNAKAN METODE ALGORITMA APRIORI

APLIKASI DATA MINING ANALISIS DATA TRANSAKSI PENJUALAN OBAT MENGGUNAKAN ALGORITMA APRIORI (Studi Kasus di Apotek Setya Sehat Semarang)

Analisa Data Mining Menggunakan Algoritma Frequent Pattern Growth Pada Data Transaksi Penjualan Restoran Joglo Kampoeng Doeloe Semarang

ANALISIS KINERJA ALGORITMA PREFIXSPAN DAN APRIORIALL PADA PENGGALIAN POLA SEKUENSIAL

Transkripsi:

6 BAB II LANDASAN TEORI Bab ini berisi penjelasan tentang definisi, teori dan konsep yang digunakan penulis untuk mamahami cara yang benar untuk mendapatkan pola sekuensial (sequential patterns) dengan menggunakan algoritma AprioriAll. 2.1 DATA MINING Data mining adalah analisis terhadap sekelompok data (biasanya berukuran besar) untuk mendapatkan hubungan yang tak terduga dan merangkum hasilnya dalam bentuk yang lebih mudah dipahami dan lebih mudah digunakan [HAN01]. Hubungan dan rangkuman yang dihasilkan biasanya berupa model (models) atau pola (pattern). Data mining umumnya dikelompokkan menjadi berbagai tugas (task). Namun sejauh ini, belum ada kesepakatan yang universal dari pada ahli data mining dalam mengelompokan tugas (task) ini. Oleh karena itu, penulis memilih pengelompokkan tugas-tugas data mining yang memiliki pandangan yang lebih luas dari pengelompokkan lainnya sebagai berikut [HAN01]. 2.1.1 Exploratory Data Analysis (EDA) Sesuai dengan namanya, tugas (task) data mining ini adalah mengekplorasi data tanpa kejelasan target informasi yang dicarinya. Umumnya teknik yang digunakan EDA ini bersifat interaktif dan visual. Hasilnya biasanya berupa grafik atau gambar.

7 2.1.2 Descriptive Modeling Tujuan dari tugas (task) ini adalah mendeskripsikan data. Contoh deskripsi yang mungkin diperoleh yaitu: Model kepadatan data (density estimation). Model pengelompokkan data (cluster analysis and segmentation). Model hubungan antar variabel (dependency modeling). 2.1.3 Predictive Modeling Tujuan dari tugas (task) ini adalah membangun model yang mampu melakukan prediksi. Predictive Modeling terbagi menjadi dua metode yaitu: Classification, dimana hasil prediksinya bersifat terkategori. Regression, dimana hasil prediksinya berisfat kuantitatif. 2.1.4 Discovering Patterns and Rules Jika ketiga tugas (task) sebelumnya umumnya bertujuan membangun model, maka pada tugas (task) ini bertujuan untuk mendeteksi pola. Metode yang digunakan pada tugas (task) ini adalah association rules. 2.1.5 Retrieval by Content Pada tugas (task) ini, dengan diketahuinya sebuah pola, maka dilakukan pencarian pola yang sama pada data. Tugas (task) ini biasanya menggunakan teks atau gambar sebagai data. Penulis tidak akan membahas lebih dalam masing-masing pengelompokkan tugas (task) tersebut. Pengelompokkan tersebut hanya digunakan penulis untuk menujukkan posisi association rules dalam data mining.

8 2.2 ASSOCIATION RULES Association rules merupakan salah satu metode dalam data mining yang pertama kali diperkenalkan oleh Agrawal dkk pada tahun 1993 melalui konsep marketbasket analysis [AGR94]. Market-basket adalah kumpulan barang (item) yang dibeli oleh pembeli (customer) pada sebuah transaksi. Pedagang (retailer) akan menyimpan semua catatan transaksi yang telah terjadi. Pada suatu waktu, pedagang (retailer) akan melakukan analisis pada semua kumpulan transaksi tersebut untuk mencari sekelompok barang (itemset) yang muncul bersama-sama pada banyak transaksi. Hasil analisis akan digunakan pedagang (retailer) untuk meningkatkan penjualan dengan cara menata ulang sekelompok barang (itemset) tersebut pada lokasi yang berdekatan atau menyusun ulang katalog belanja. Dalam model matematika association rules dijelaskan sebagai berikut [DUN03]. Jika diberikan sekumpulan item, disebut juga itemset, dan diberikan database transaksi dimana dan, dimana [ANN07]. Definisi 1. Association rules dinyatakan dalam bentuk dan., dimana Definisi 2. Support dari sebuah association rules transaksi pada database yang mengandung. adalah persentase

9 Definisi 3. Confidence dari sebuah association rules adalah jumlah transaksi yang mengandung dibagi dengan jumlah transaksi yang mengandung. Definisi 4. Association rules problem adalah untuk mencari semua association rules dengan minimum support dan confidence tertentu. Dimana minimum support adalah support yang ditentukan sebagai input. Definisi 5. Large (frequent) itemset adalah sebuah itemset yang memiliki support lebih besar atau sama dengan minimum support. Definisi 6. i-itemset adalah sebuah itemset yang memiliki jumlah item sebanyak i item. Sebagai contoh untuk memahami definisi-definisi tersebut, diberikan sebuah database transaksi berikut ini. TID Itemset 001 A C D 002 B C E 003 A B C E 004 B E Tabel 2.1 Transaction Database Dari contoh tabel di atas, TID (transaction ID) adalah nomor identitas transaksi yang terjadi dan itemset adalah kumpulan barang yang dibeli. Dari tabel tersebut juga diketahui terdapat empat transaksi dan lima jenis item yang diperdagangkan.

10 Misalkan ingin dicari nilai support untuk masing-masing item yang berarti mencari itemset yang panjangnya satu item, disebut juga 1-itemset. Support untuk 1-itemset diperoleh sebagai berikut. Item Jumlah Support A 2 2/4 = 50% B 3 3/4 =75% C 3 3/4 = 75% D 1 1/4 = 25% E 3 3/4 = 75% Tabel 2.2 1-itemset Permaslahan association rules adalah mencari semua itemset (1-itemset, 2-itemset, 3-itemset, dst.) yang memenuhi nilai support tertentu, disebut juga frequent itemset. Sampai saat ini, untuk menyelesaikan permasalahan association rules telah dikenal tiga algoritma yaitu: Algoritma Apriori [AGR94] Algoritma FP-Growth [HAN00] Algoritma CT-Pro [SUC05] Penulis tidak akan membahas lebih jauh dari masing-masing algoritma tersebut kecuali algoritma Apriori sebagai algoritma yang digunakan pada Tugas Akhir ini.

11 2.3 ALGORITMA APRIORI Algoritma Apriori pertama kali diperkenalkan oleh Agrawal dkk pada tahun 1994 sebagai salah satu algoritma yang efisien untuk menyelesaikan association rules problem [AGR94]. Berikut ini adalah pseudocode Algoritma Apriori. L 1 = {large 1-itemsets}; for(k = 2; L k-1 ; k++) { C k = apriori-gen(l k-1 ); forall transactions t D { C t = subset(c k, t); forall candidates c { c.count++; } C t } L k = {c Ck c.count minsup}; } Answer = ; Gambar 2.1 Algoritma Apriori [AGR94] Berikut ini adalah pseudocode apriori-gen. // join step INSERT INTO C k SELECT p.item 1, p.item 2,, p.item k-1, q.item k-1 FROM L k-1 p, L k-1 q WHERE p.item 1 = q.item 1,, p.item k-2 = q.item k-2, p.item k-1 < q.item k-1 ; // prune step forall itemsets c C k { forall( (k-1)-subsets s of c) { if(s L k-1 ) { delete c from C k ; } } } Gambar 2.2 Function Apriori-Gen [AGR94]

12 Dengan menggunakan algoritma Apriori, dapat dicari semua large itemset dari contoh tabel 2.1 misalkan dengan minimum support = 50% sebagai berikut [KAN03]. Dari tabel 2.2 telah didapat 1-itemset. Untuk mendapatkan large 1-itemset, maka item D yang memiliki nilai support yang lebih kecil dari nilai minimum support harus dihilangkan (prune step). Tabel 2.3 berikut berisi large 1-itemset. Item Jumlah Support A 2 50% B 3 75% C 3 75% E 3 75% Tabel 2.3 large 1-itemset Dari large 1-itemset, kemudian bisa terbentuk enam candidate 2-itemset pada tabel 2.4 berikut ini. Item Jumlah Support (%) {A, B} 1 25 {A, C} 2 50 {A, E} 1 25 {B, C} 2 50 {B, E} 3 75 {C, E} 2 50 Tabel 2.4 2-itemset

13 Kemudian dengan menyingkirkan candidate yang tidak frequent diperoleh large 2-itemset pada tabel 2.5 berikut ini. Item Jumlah Support (%) {A, C} 2 50 {B, C} 2 50 {B, E} 3 75 {C, E} 2 50 Tabel 2.5 large 2-itemset Dari large 2-itemset terbentuk tiga candidate 3-itemset pada tabel 2.6 berikut ini. Item Jumlah Support (%) {A, B, C} 1 25 {A, C, E} 1 25 {B, C, E} 2 50 Tabel 2.6 3-itemset Dengan menyingkirkan candidate yang tidak frequent maka diperoleh large 3- itemset pada tabel 2.7 berikut ini. Item Jumlah Support (%) {B, C, E} 2 50 Tabel 2.7 large 3-itemset

14 Karena tersisa hanya satu candidate large 3-itemset, maka tidak bisa terbentuk candidate untuk 4-itemset. Prose algoritma Apriori berhenti sampai di sini. Jawaban akhirnya terdapat pada tabel 2.8 berikut ini. Item Jumlah Support (%) A 2 50 B 3 75 C 3 75 E 3 75 {A, C} 2 50 {B, C} 2 50 {B, E} 3 75 {C, E} 2 50 {B, C, E} 2 50 Tabel 2.8 All large itemsets Algoritma Apriori memiliki sifat dasar yang tekenal (sifat Apriori) yaitu setiap subset dari frequent itemset (large itemset) pasti juga merupakan frequent itemset (large itemset). Sifat ini terbukti karena setiap candidate k-itemset selalu disusun dari frequent (k-1)-itemset.

15 2.4 ALGORITMA APRIORIALL Sampai saat ini telah dikenal beberapa algoritma yang dikembangkan khusus untuk mendapatkan pola sekuensial. Masing-masing algoritma menggunakan pendekatan yang berbeda-beda. Berikut ini beberapa algoritma tersebut [ZHA04] yaitu: Algoritma AprioriAll, AprioriSome, dan DynamicSome dikembangkan oleh Agrawal dan Srikant (1995) dengan pendekatan sifat Apriori. Algoritma AprioriSome dan DynamicSome merupakan variasi dari algoritma AprioriAll. Algoritma GSP (Generalize Sequential Pattern), dikembangkan oleh Srikant dan Agrawal (1996) dengan juga pendekatan sifat Apriori. Algoritma SPIRIT (Sequential Pattern mining with Regular expression constraints) dikembangkan oleh Galofalaksis (1999) dengan pendekatan regular expression. Algoritma FreeSpan dikembangkan oleh Han (2000) dengan menggunakan algoritma FP-Growth. Algoritma PrefixSpan dikembangkan oleh Pei (2001) dengan menggunakan algoritma FP-Growth. Algoritma SPADE dikembangkan oleh Zaki (2001) dengan berbasis struktur lattice. Algoritma MEMISP (MEmory Indexing for Sequential Pattern Mining) dikembangkan oleh Lin dan Lee (2002) dengan pendekatan memory indexing. Selain algoritma, juga dikenal beberapa pengembangan teknik lebih lanjut dalam mendapatkan pola sekuensial yang lebih kompleks seperti multi-dimensional sequential pattern mining, incremental mining of sequential patterns, dan periodic pattern analysis [ZHA04].

16 Alasan utama algoritma AprioriAll dipilih oleh penulis sebagai algoritma yang digunakan untuk mencari pola sekuensial yaitu: Pola sekuensial (akan dijelaskan pada bagian berikutnya) bisa dipandang sebagai itemset yang memiliki sifat keterurutan, sehingga setiap itemset yang bersifat frequent, maka semua anggota itemset tersebut juga pasti bersifat frequent. Oleh karena itu, pola sekuensial memiliki sifat Apriori [DUN03]. Algoritma AprioriAll memang dibuat khusus untuk mencari pola sekuensial dengan prinsip kerja yang mirip dengan algoritma Apriori. Sehingga terdapat banyak kesamaan dalam implementasi algoritma Apriori dan algoritma AprioriAll, seperti sama-sama menggunakan teknik candidate generation [AGR95]. Algoritma Apriori berpotensi terus dikembangkan sehingga terdapat versi yang memiliki performance lebih baik daripada algoritma sejenisnya [FAH06], contohnya algoritma Apriori yang dikembangkan oleh Christian Bogelt [CHR09]. Oleh karena banyak kesamaan antara algoritma Apriori dan algoritma AprioriAll, sehingga performance yang lebih baik dari implementasi versi pengembangan selanjutnya bisa dimiliki oleh algoritma AprioriAll di masa mendatang. Berikut ini adalah pseudocode algoritma AprioriAll. L 1 = {large 1-sequences}; for(k = 2; L k-1 ; k++) { C k = AprioriAll-gen(L k-1 ); foreach customer-sequence c in database { Increment the count of all candidate in C k that are contained in c. } L k = Candidates in C k with minimum support; } Answer = Maximal Sequences in ; Gambar 2.3 Algoritma AprioriAll [AGR95]

17 Berikut ini adalah pseudocode AprioriAll-gen. // join step INSERT INTO C k SELECT p.litemset 1,, p.litemset k-1, q.litemset k-1 FROM L k-1 p, L k-1 q WHERE p.litemset 1 = q.litemset 1,, p.litemset k-2 = q.litemset k-2 ; // prune step Delete all sequence c in L k-1. C k such that some (k-1)-subsequence of c is not Gambar 2.4 Function AprioriAll-Gen [AGR95] Kegunaan algoritma AprioriAll akan dijelaskan pada bagian selanjutnya. Namun secara umum prinsip kerjanya mirip dengan algoritma Apriori, perbedaan utamanya adalah algoritma AprioriAll mengolah sequences yang memiliki sifat keterurutan bukan itemsets biasa.

18 2.5 MINING SEQUENTIAL PATTERN (MSP) Pencarian pola sekuensial, yang disebut mining sequential pattern (MSP) pertama kali diperkenalkan oleh Agrawal dan Srikant pada tahun 1995 melalui contoh penggalian pola sekuensial pada transaction database [AGR95]. Diberikan transaction database yang terdiri dari atribut nomor identitas pelanggan (customer ID), waktu transaksi (transaction time) dan barang (item) yang dibeli pada masing-masing transaksi. Diasumsikan setiap pembeli memiliki identitas yang diperoleh dari kartu kredit atau kartu pelanggan sehingga nomor identitas bisa diperoleh. Tujuan akhirnya adalah mendapatkan semua kelompok barang yang muncul berurutan dengan presentase tertentu pada transaction database tersebut. Misalkan transaction database tersebut berasal toko rental DVD, dimana semua pelanggannya memiliki identitas yang dikenal, maka contoh pola sekuensial yang mungkin muncul adalah pola peminjaman suatu judul DVD dalam suatu transaksi yang diikuti dengan peminjaman judul DVD sekuelnya pada transaksi berikutnya. Dengan asumsi satu transaksi dengan transaksi lainnya terjadi dalam waktu yang berbeda. Contoh aplikasi nyata pencarian pola sekuensial terdapat pada permasalahan [ZAI07] berikut ini: Analisis perilaku belanja konsumen, misalnya untuk mendapatkan pola sekuensial produk yang dibeli oleh konsumen pada rentang waktu tertentu. Analisis kriminalitas berantai (serial crime), misalnya untuk mendeteksi pola sekuensial pencurian atau penipuan kartu kredit (fraud). Analisis bencana alam, misalnya untuk mendapatkan pola sekuensial kejadian alam tertentu yang mendahului suatu bencana alam.

19 Analisis saham (stocks), misalnya untuk mendapatkan pola sekuensial jenis-jenis saham yang sering ikut turun apabila terjadi penurunan harga suatu jenis saham tertentu. Analisis web log access, misalnya untuk mendapatkan pola sekuensial halaman situs yang sering diakses berurutan. Analisis DNA sequences, misalnya untuk menemukan pola sekuensial DNA tertentu yang dikandung pada beberapa jenis asam amino (protein). Berikut ini adalah definisi-definisi yang terkait dengan pencarian pola sekuensial (mining sequential patterns) dalam model matematika [AGR95]. Definisi 7. Sequence dinotasikan sebagai dimana adalah sebuah itemset. Definisi 8. Sequence jika terdapat bilangan bulat disebut subsequence dari sequence sehingga Sebagai contoh untuk memahami definisi 8, sequence ((3) (4 5) (8)) merupakan subsequence dari ((7) (3 8) (9) (4 5 6) (8)) karena (3) (3 8), (4 5) (4 5 6), dan (8) (8). Namun sequence ((3) (5)) bukan subsequence dari ((3 5)) karena (3) (3 5) tetapi (5) tidak memiliki pasangan lagi yang tersisa untuk dicocokan. Definisi 9. Sequence s disebut maximal sequence jika s bukan merupakan subsequence dari sequence lainnya. Definisi 10. Mining Sequential Patterns problem adalah mencari semua maximal sequence yang memenuhi minimum support tertentu.

20 Terdapat lima fase yang diperlukan untuk mendapatkan pola sekuensial dengan menggunakan algoritma AprioriAll yaitu Sort Phase, Litemset Phase, Transformation Phase, Sequence Phase dan Maximal Phase. Tabel berikut ini akan digunakan sebagai contoh untuk menjelaskan fase-fase tesebut untuk mendapatkan pola sekuensial [AGR95]. Diberikan customer transaction database berikut yang telah terurut berdasarkan customer ID dan transaction time. 2.5.1 Sort Phase Customer ID Transaction Time Items Bought 1 1 28 Juni 2009 29 Juni 2009 30 90 2 2 2 28 Juni 2009 29 Juni 2009 30 Juni 2009 10, 20 30 40, 60, 70 3 28 Juni 2009 30, 50, 70 4 4 4 28 Juni 2009 29 Juni 2009 30 Juni 2009 30 40, 70 90 5 30 Juni 3009 90 Tabel 2.9 Customer Transaction Database Tujuan utama fase ini adalah mendapatkan customer sequences dari database yang telah terurut. Customer sequences setiap customer diperoleh dengan menggabungkan semua transaksi, dimana masing-masing transaksi yang berisi itemset bisa dipandang sebagai sebuah sequence. Customer ID Customer Sequence 1 (30) (90) 2 (10 20) (30) (40 60 70) 3 (30 50 70) 4 (30) (40 70) (90) 5 (90) Tabel 2.10 Customer Sequence

21 2.5.2 Litemset Phase Tujuan utama fase ini adalah mendapatkan semua large itemset (litemset) berdasarkan nilai minimun support tertentu. Untuk mendapatkan litemset bisa digunakan algoritma Apriori [AGR94] biasa namun terdapat perbedaan definisi support [AGR95]. Jika pada association rules, support pada sebuah itemset didefinisikan sebagai jumlah kemunculan itemset tersebut dibagi dengan jumlah semua transaksi, tetapi pada mining sequential patterns, support didefinisikan sebagai jumlah customer yang memiliki itemset tersebut dibagi dengan jumlah semua customer [AGR95]. Item Association Rules Support Sequential Pattern Support 10 1/10 1/5 20 2/10 1/5 30 4/10 4/5 40 2/10 2/5 50 1/10 1/5 60 1/10 1/5 70 3/10 3/5 90 3/10 3/5 Tabel 2.11 Perbedaan Support Large itemset (litemset) yang diperoleh dengan menggunakan algoritma Apriori dan minimun support 25% (minimal dimiliki oleh 2 customer) serta diberikan penomoran (mapping) dengan bilangan bulat yang berurutan, bisa dilihat pada tabel berikut ini. Litemset Mapped to (30) 1 (40) 2 (70) 3 (40 70) 4 (90) 5 Tabel 2.12 Litemsets

22 Tujuan penomoran tersebut adalah untuk memperlakukan setiap litemset sebagai entitas tunggal sehingga bisa dibandingkan dalam constant time dan mengurangi waktu untuk pemeriksaan subsequence. 2.5.3 Transformation Phase Tujuan utama dari fase ini adalah mendapatkan transformed sequences. Transformed sequences diperoleh dengan aturan berikut: Setiap transaksi pada customer sequence diganti dengan litemset yang bersesuaian. Jika sebuah transaksi tidak memiliki litemset, maka tidak dimasukkan ke transformed sequences. Jika sebuah customer sequence tidak memiliki litemset, maka tidak dimasukkan ke transformed sequences. Tabel berikut ini merupakan hasil transformation phase. Customer ID Customer Sequence Transformed Sequence After Mapping 1 (30) (90) {(30)} {(90)} {1} {5} 2 (10 20) (30) (40 60 70) {(30)} {(40), (70), (40 70)} {1} {2, 3, 4} 3 (30 50 70) {(30), (70)} {1, 3} 4 (30) (40 70) (90) {(30)} {(40), (70), (40 70)} {(90)} {1} {2, 3, 4} {5} 5 (90) {(90)} {5} Tabel 2.13 Transformed Sequences

23 2.5.4 Sequence Phase Tujuan utama fase ini adalah mendapatkan semua large sequence. Large sequences adalah sequence yang memenuhi nilai minimum support. Dengan menggunakan algoritma AprioriAll dan minimum support 25% (minimal dimiliki 2 customer) diperoleh large sequence berikut ini [AGR95]. No. Large Sequence 1 1 5 2 1 2 3 1 3 4 1 4 5 2 3 6 2 4 7 3 4 8 1 2 3 9 1 2 4 10 1 3 4 11 2 3 4 12 1 2 3 4 Tabel 2.14 Large Sequences (mapping mode) 2.5.5 Maximal Phase Tujuan utama fase ini adalah mendapatkan semua maximal sequences dari large sequences yang telah diperoleh pada fase sebelumnya. Berikut ini adalah pseudocode untuk mendapatkan maximal sequences. for(k = n; k > 1; k--) { foreach k-sequence s k { Delete from S all subsequences of s k } } Gambar 2.5 Pseudocode Maximal Sequences [AGR95]

24 Hasil dari algoritma maximal sequences bisa dilihat pada tabel berikut ini. No. Maximal Sequence (mapping mode) Maximal Sequence (normal mode) 1 1 5 (30) (90) 2 1 2 3 4 (30) (40) (70) (40 70) Tabel 2.15 Maximal Sequences Algoritma maximal sequences harus dijalankan sekali lagi pada masing-masing transaksi sehingga diperoleh hasil akhir pada tabel berikut ini. No. Maximal Sequence 1 (30) (90) 2 (30) (40 70) Tabel 2.16 Result

25 Diagram berikut ini gambaran besar tentang konsep Mining Sequential Patterns (MSP) yang telah dijelaskan sebelumnya. Sort Phase Input Output : Transaction Database : Customer Sequence Litemset Phase Input : Customer Sequence Output : Litemsets (Large Itemsets) Transformation Phase Input : Customer Sequence, Litemsets Output : Transformed Sequence Sequence Phase Input : Transformed Sequence, LItemsets Output : Large Sequence Maximal Phase Input : Large Sequence, Customer Sequence Output : Maximal Sequence Gambar 2.6 Diagram MSP