• Tidak ada hasil yang ditemukan

Pengembangan Aplikasi Fuzzy Temporal Association Rule Mining (Studi Kasus : Data Transaksi Pasar Swalayan )

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengembangan Aplikasi Fuzzy Temporal Association Rule Mining (Studi Kasus : Data Transaksi Pasar Swalayan )"

Copied!
57
0
0

Teks penuh

(1)

PENGEMBANGAN APLIKASI

FUZZY TEMPORAL ASSOCIATION RULE MINING

(STUDI KASUS : DATA TRANSAKSI PASAR SWALAYAN )

HANDAYANI RETNO SUMINAR

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

PENGEMBANGAN APLIKASI

FUZZY TEMPORAL ASSOCIATION RULE MINING

(STUDI KASUS : DATA TRANSAKSI PASAR SWALAYAN )

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Oleh:

HANDAYANI RETNO SUMINAR

G64103032

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

ABSTRAK

HANDAYANI RETNO SUMINAR. Pengembangan Aplikasi Fuzzy Temporal Association Rule Mining (Studi Kasus: Data Transaksi Pasar Swalayan). Dibimbing oleh IMAS SUKAESIH SITANGGANG dan ANNISA.

Seringkali kita mendeskripsikan kalender menggunakan kata-kata yang tidak pasti, seperti awal bulan untuk kondisi keuangan yang baik, atau tengah dan akhir bulan untuk kondisi keuangan yang menipis. Kata-kata seperti awal, tengah, dan akhir dapat diadopsi ke dalam bentuk fuzzy calendar. Dengan mengadopsi fungsi-fungsi pada fuzzy calendar, akan dilihat kecenderungan pembelian barang oleh pembeli dalam kurun waktu tertentu. Sebagai contoh, pembeli biasa membeli kebutuhan pokok (sembako) di awal bulan, karena sebagian besar mendapatkan gaji pada periode tersebut. Penelitian ini bertujuan untuk mencari pola-pola dari basis data menggunakan

fuzzy temporal association rule mining, sehingga akan terlihat keterkaitan jenis barang yang dibeli oleh pembeli pada waktu-waktu tertentu. Hal ini dapat dimanfaatkan oleh pemilik swalayan dalam pengambilan keputusan terkait dengan penjualan barang pada periode waktu tertentu.

Data yang digunakan pada penelitian ini adalah data transaksi pembelian pada periode 1 Maret sampai dengan 21 Mei 2004 dan dibagi menjadi 3 contoh transaksi, yaitu 50, 100, dan 150 transaksi. Untuk melihat keefektifan fuzzy temporal association rule mining digunakan support threshold sebesar 20%, 30%, dan 40%, dan confidence threshold sebesar 65%, 70%, dan 75% dengan fuzzy calendar yang digunakan, yaitu awal minggu or awal tahun. Penggunaan support threshold dan confidence threshold tertinggi, yaitu 40% dan 75%, menghasilkan aturan asosiasi 30 (susu) →80 (snack) dan 70 (minuman) →80 (snack) untuk jumlah transaksi sebesar 50 dan 100, namun untuk jumlah transaksi sebesar 150 tidak dihasilkan aturan asosiasi. Aturan asosiasi 70→80 dengan fuzzy calendar awal minggu or awal tahun memiliki makna bahwa “JIKA pembeli membeli barang dengan ID 70 (minuman) pada awal bulan or awal tahun, MAKA dia juga akan membeli barang dengan ID 80 (snack)”. Operator fuzzy calendar yang digunakan, antara lain and, or, xor, sub, dan complement, sedangkan time granularity yang digunakan adalah minggu, bulan, dan tahun. Dari hasil percobaan, penggunaan satu atau dua jenis fuzzy calendar pada minggu keempat Maret dan minggu kedua April tidak mempengaruhi aturan asosiasi yang dihasilkan.

(4)

Judul : Pengembangan Aplikasi

Fuzzy Temporal Association Rule

Mining

(Studi Kasus : Data Transaksi Pasar Swalayan)

Nama : Handayani Retno Suminar

NRP

: G64103032

Menyetujui:

Pembimbing I, Pembimbing II,

Imas S. Sitanggang, S.Si., M.Kom.

Annisa, S.Kom.

NIP 132206235

NIP 132311930

Mengetahui:

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Prof. Dr. Ir. Yonny Koesmaryono, M.S.

NIP 131473999

(5)

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 06 Januari 1985 di Jakarta. Penulis adalah anak kedua dari dua bersaudara pasangan Ranto dan Sumini. Pada tahun 2003, penulis lulus pendidikan SMU di SMU Negeri 21 Jakarta Timur. Pada tahun yang sama, penulis diterima sebagai mahasiswa di Program Studi Ilmu Komputer, Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI).

(6)

PRAKATA

Alhamdulillaahirabbil ‘aalamiin, puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan karya ilmiah dengan judul Pengembangan Aplikasi Data Mining Menggunakan Fuzzy Temporal Association Rules. Shalawat serta salam juga penulis sampaikan kepada junjungan Nabi Muhammad SAW beserta seluruh sahabat dan umatnya hingga akhir zaman.

Penulis menyadari bahwa keberhasilan penulisan karya ilmiah ini tidak terlepas dari pihak-pihak yang telah banyak membantu. Oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Ibu dan Bapak yang telah membantu dalam memberikan dorongan baik material maupun doa selama proses pembuatan skripsi ini. Tak lupa kakakku, Galih Purnomo Fitrianto, yang juga selalu memberikan dukungan, dan nasihat seputar dunia kuliah, serta dorongan baik material dan doa.

2. Ibu Imas S. Sitanggang, S.Si., M.Kom sebagai dosen Pembimbing I dan Ibu Annisa, S.Kom sebagai dosen Pembimbing II yang telah bersedia meluangkan waktu serta memberikan saran dan bimbingannya selama penelitian dan penulisan karya ilmiah ini.

3. Bapak Hari Agung Adrianto, S.Kom., M.Si yang telah bersedia menjadi moderator dalam seminar dan penguji penulis.

4. Gosfenry Aksamulian yang selalu mendengarkan keluh kesahku selama ini, dan dengan sabar menemaniku, walaupun jarak kita berjauhan. Terima kasih atas dukunganmu selama ini. 5. Teman-teman seperjuanganku di Ilkom, Atik, Hida, Thessi, dan Yustin, yang selalu ada untuk

memberikan dukungan, maupun saran dalam pengerjaan skripsi ini, serta seluruh teman-teman Ilkom 40 atas segala dukungan, nasihat, keceriaan, dan persahabatan yang selama ini diberikan.

6. Semua pihak lain yang telah membantu penulis, dan mohon maaf tidak dapat disebutkan satu persatu.

Penulis menyadari bahwa masih banyak kekurangan dalam pembuatan karya ilmiah ini. Oleh karena itu, kritik dan saran yang membangun sangat penulis harapkan demi perbaikan di masa mendatang. Penulis berharap hasil dari penelitian ini dapat bermanfaat bagi seluruh pihak, serta dapat menjadi acuan bagi penelitian-penelitian berikutnya.

Bogor, Juni 2007

(7)

v

DAFTAR ISI

Halaman

DAFTAR TABEL ...vi

DAFTAR GAMBAR ...vi

DAFTAR LAMPIRAN...vi

PENDAHULUAN Latar Belakang...1

Tujuan Penelitian ...1

Ruang Lingkup Penelitian

... 1

Manfaat Penelitian ...1

TINJAUAN PUSTAKA Basis Data...1

Basis Data Transaksional...1

Populasi dan Contoh...2

Knowledge Discovery in Database (KDD)...2

Himpunan Fuzzy...2

Association Rules Mining...2

Fuzzy Calendar Algebra...3

Mining Fuzzy Temporal Association Rule...4

METODE PENELITIAN Proses Dasar Sistem ...6

Lingkungan Pengembangan Sistem ...7

HASIL DAN PEMBAHASAN Transformasi Data...7

Pembersihan Data ...7

Seleksi Data ...7

Data Mining...8

Pembentukan Frequent Itemset...8

Pembentukan Aturan Asosiasi...10

Pengunaan Fuzzy Calendar...10

Representasi Pengetahuan ...12

KESIMPULAN DAN SARAN Kesimpulan...13

Saran ...13

DAFTAR PUSTAKA ...14

(8)

vi

DAFTAR TABEL

Halaman

1 Fuzzy calendar dan fungsi keanggotaannya ()...4

2 Jumlah frequent itemset untuk 50, 100, dan 150 transaksi ...9

3 Frequent itemset yang dihasilkan untuk 50, 100, dan 150 transaksi ...9

4 Jumlah aturan asosiasi untuk 50, 100, dan 150 transaksi...10

5 Waktu eksekusi (dalam detik) untuk pembentukan aturan asosiasi pada 50, 100, dan 150 transaksi...10

6 Aturan asosiasi dengan support dan confidence threshold tertinggi, yaitu 40% dan 75% pada minggu keempat Maret dan minggu kedua April dengan jumlah transaksi sebesar 50 ...11

7 Aturan asosiasi dengan confidence threshold tertinggi, yaitu 75% ...12

DAFTAR GAMBAR

Halaman 1 Tahapan dalam KDD (Han & Kamber 2001) ...2

2 Basic fuzzy calendar berasosiasi dengan time granularity dari (a) minggu (week), (b) bulan (month), dan (c) tahun (year) (Lee & Lee 2004)...3

3 Sebaran items dari (a) keseluruhan transaksi, (b) 50 transaksi per minggu, (c) 100 transaksi per minggu, (d) 150 transaksi per minggu ...8

DAFTAR LAMPIRAN

Halaman 1 Diagram alir proses data mining...16

2 Proses pembersihan data...17

3 Proses transformasi data ...18

4 Sebaran items untuk 50 transaksi ...20

5 Sebaran items untuk 100 transaksi ...24

6 Sebaran items untuk 150 transaksi ...28

7 Jumlah frequent itemset (L) untuk dataset 50, 100, dan 150 transaksi...32

8 Frequent itemset (L) untuk dataset 50, 100, dan 150 transaksi ...33

9 Jumlah aturan asosiasi (association rules)...35

10 Rata-rata waktu eksekusi pembentukan aturan asosiasi (detik) ...38

(9)

1

PENDAHULUAN

Latar Belakang

Dewasa ini, banyak sekali kegiatan yang dilakukan secara terkomputerisasi, sehingga menghasilkan data dalam jumlah besar. Dengan ketersediaan data yang semakin melimpah dari berbagai sumber, penemuan pengetahuan yang berguna dari basis data 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 basis data yang berukuran besar (Han & Kamber 2001). Salah satu teknik data mining adalah metode association rule mining yang berguna untuk menemukan aturan asosiasi pada basis data.

Seringkali kita mengekspresikan tanggal menggunakan sesuatu yang tidak pasti, seperti penggunaan kata awal bulan untuk menggambarkan kondisi keuangan yang baik, serta kata tengah dan akhir bulan untuk menggambarkan kondisi keuangan yang menipis. Kata awal, tengah, dan akhir bulan tersebut dapat diadopsi ke dalam suatu bentuk kalender, yang dinamakan fuzzy calendar. Fuzzy calendar ini dapat memberikan keleluasaan kepada pengguna untuk mendefinisikan waktu sesuai dengan keinginan mereka, sehingga pengguna tidak perlu mengetahui batasan waktu secara pasti.

Dari basis data transaksi, khususnya transaksi supermarket, dapat ditemukan aturan asosiasi untuk mengetahui keterkaitan antarbarang. Dengan mengadopsi fungsi-fungsi pada fuzzy calendar, akan dilihat kecenderungan pembelian barang oleh pembeli dalam kurun waktu tertentu. Sebagai contoh, pembeli biasa membeli kebutuhan pokok (sembako) di awal bulan, karena sebagian besar mendapatkan gaji pada periode tersebut. Kejadian seperti ini sebenarnya terekam dalam basis data, hanya saja belum tergali informasi tentang itu. Dengan mencari pola-pola dari basis data menggunakan fuzzy temporal association rules, akan terlihat keterkaitan jenis barang yang dibeli oleh pembeli pada waktu-waktu tertentu (Lee & Lee 2004). Hal ini dapat dimanfaatkan oleh pemilik swalayan dalam pengambilan keputusan terkait dengan penjualan barang pada periode waktu tertentu.

Tujuan Penelitian

Penelitian ini bertujuan untuk mengembangkan aplikasi data mining

dengan metode fuzzy temporal association rule mining untuk mengetahui keterkaitan antara beberapa item pada basis data khususnya data transaksi pembelian pada periode tertentu.

Ruang Lingkup Penelitian

Ruang lingkup untuk penelitian ini dibatasi pada penerapan metode fuzzy temporal association rule mining pada basis data khususnya data transaksi pembelian di Sinar Mart Swalayan selama 11 minggu (1 Maret 2004 - 21 Mei 2004). Percobaan dilakukan dengan membagi data menjadi 3 jenis contoh transaksi, yaitu 50, 100, dan 150 transaksi. Pembentukan himpunan fuzzy

pada penelitian ini menggunakan fuzzy calendar algebra dengan batasan 1 operator saja. Penelitian ini akan menghasilkan aplikasi fuzzy temporal association rule mining.

Manfaat Penelitian

Aplikasi yang dihasilkan pada penelitian ini diharapkan dapat digunakan untuk mengetahui keterkaitan antaritem data pada data transaksi supermarket. Keterkaitan tersebut dapat digunakan salah satunya sebagai bahan pertimbangan dalam pengambilan keputusan yang berhubungan dengan penjualan barang pada periode tertentu.

TINJAUAN PUSTAKA

Basis Data

Basis data merupakan sekumpulan data atau entitas (beserta deskripsinya) yang berhubungan secara logika, dibuat untuk memenuhi kebutuhan informasi suatu organisasi. Sistem Manajemen Basis Data (Database Management System) adalah sistem perangkat lunak yang memungkinkan pengguna mendefinisikan, menciptakan, dan mengelola suatu basis data, serta menyediakan akses kontrol terhadap basis data tersebut (Connoly & Begg 2002).

Basis Data Transaksional

Basis data transaksional terdiri dari sebuah file di mana setiap record

(10)

2

identitas transaksi yang unik (trans_id), dan sebuah daftar dari item yang membuat transaksi (seperti item yang dibeli dalam sebuah toko). Basis data transaksi dapat memiliki tabel tambahan, yang mengandung informasi lain berkaitan dengan penjualan seperti tanggal transaksi, customer ID number, ID number dari sales person dan dari kantor cabang (branch) di mana penjualan terjadi (Han & Kamber 2001).

Populasi dan Contoh

Populasi adalah keseluruhan

pengamatan yang menjadi perhatian, sedangkan contoh adalah suatu himpunan bagian dari populasi. Peluang suatu kejadian

A adalah jumlah peluang semua titik contoh dalam A.

Bila suatu percobaan mempunyai N

hasil percobaan yang berbeda, dan masing-masing mempunyai kemungkinan yang sama untuk terjadi, dan bila tepat n di antara hasil percobaan itu menyusun kejadian A, maka peluang kejadian A adalah

N n A

P( ) . (1)

Suatu contoh acak sederhana n pengamatan adalah suatu contoh yang dipilih sedemikian rupa sehingga setiap himpunan bagian yang berukuran n dari populasi mempunyai peluang terpilih yang sama (Walpole 1995).

Knowledge Discovery in Database (KDD) Knowledge discovery in Database

merupakan suatu proses menemukan pengetahuan dari suatu basis data yang terdiri atas urutan langkah– langkah seperti diilustrasikan pada Gambar 1 (Han & Kamber 2001).

Gambar 1 Tahapan dalam KDD (Han & Kamber 2001).

Tahapan – tahapan pada KDD adalah sebagai berikut:

1 Pembersihan data: data dibersihkan untuk menghilangkan noise dan data yang tidak konsisten.

2 Pengintegrasian data: data digabungkan dari berbagai sumber.

3 Seleksi data: data yang relevan dengan proses analisis diambil dari basis data.

4 Transformasi data: data

ditransformasikan atau digabungkan ke dalam bentuk yang sesuai untuk

di-mining dengan cara dilakukan peringkasan atau operasi agregasi. Pada beberapa kasus, transformasi data dilakukan sebagai langkah praproses sebelum pembersihan data dan pengintegrasian data di mana data yang dihasilkan dari langkah praproses tersebut disimpan dalam data warehouse.

5 Data mining: merupakan proses yang penting dalam KDD di mana metode metode cerdas diaplikasikan untuk mengekstrak pola – pola dari kumpulan data.

6 Evaluasi pola: mengidentifikasikan pola–pola yang menarik yang merepresentasikan pengetahuan berdasarkan suatu ukuran kemenarikan. 7 Representasi pengetahuan : pengetahuan

yang telah digali divisualisasikan kepada pengguna

Himpunan Fuzzy

Sebuah himpunan fuzzy berbeda dengan himpunan crisp ataupun Boolean. Himpunan

fuzzy memiliki fungsi keanggotaan, yaitu fungsi yang menjelaskan hubungan antara nilai dari himpunan dan derajat keanggotaannya. Pada himpunan fuzzy

terdapat membran semipermeable, yang mana anggotanya dibagi menjadi 3, yaitu bukan anggota, anggota penuh, dan anggota sebagian dari himpunan (Cox 2005).

Association Rules Mining

Association rule mining berguna untuk menemukan aturan asosiasi pada basis data. Pada dasarnya aturan asosiasi digunakan untuk menggambarkan keterkaitan antaritem pada sekumpulan data. Penggalian aturan asosiasi di antara record yang jumlahnya sangat banyak dapat membantu proses pengambilan keputusan (Han & Kamber 2001). Association rules menggunakan bentuk “Jika Antecedent, maka Consequent”.

Ukuran kekuatan dari aturan asosiasi adalah

(11)

PENGEMBANGAN APLIKASI

FUZZY TEMPORAL ASSOCIATION RULE MINING

(STUDI KASUS : DATA TRANSAKSI PASAR SWALAYAN )

HANDAYANI RETNO SUMINAR

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(12)

PENGEMBANGAN APLIKASI

FUZZY TEMPORAL ASSOCIATION RULE MINING

(STUDI KASUS : DATA TRANSAKSI PASAR SWALAYAN )

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Oleh:

HANDAYANI RETNO SUMINAR

G64103032

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(13)

ABSTRAK

HANDAYANI RETNO SUMINAR. Pengembangan Aplikasi Fuzzy Temporal Association Rule Mining (Studi Kasus: Data Transaksi Pasar Swalayan). Dibimbing oleh IMAS SUKAESIH SITANGGANG dan ANNISA.

Seringkali kita mendeskripsikan kalender menggunakan kata-kata yang tidak pasti, seperti awal bulan untuk kondisi keuangan yang baik, atau tengah dan akhir bulan untuk kondisi keuangan yang menipis. Kata-kata seperti awal, tengah, dan akhir dapat diadopsi ke dalam bentuk fuzzy calendar. Dengan mengadopsi fungsi-fungsi pada fuzzy calendar, akan dilihat kecenderungan pembelian barang oleh pembeli dalam kurun waktu tertentu. Sebagai contoh, pembeli biasa membeli kebutuhan pokok (sembako) di awal bulan, karena sebagian besar mendapatkan gaji pada periode tersebut. Penelitian ini bertujuan untuk mencari pola-pola dari basis data menggunakan

fuzzy temporal association rule mining, sehingga akan terlihat keterkaitan jenis barang yang dibeli oleh pembeli pada waktu-waktu tertentu. Hal ini dapat dimanfaatkan oleh pemilik swalayan dalam pengambilan keputusan terkait dengan penjualan barang pada periode waktu tertentu.

Data yang digunakan pada penelitian ini adalah data transaksi pembelian pada periode 1 Maret sampai dengan 21 Mei 2004 dan dibagi menjadi 3 contoh transaksi, yaitu 50, 100, dan 150 transaksi. Untuk melihat keefektifan fuzzy temporal association rule mining digunakan support threshold sebesar 20%, 30%, dan 40%, dan confidence threshold sebesar 65%, 70%, dan 75% dengan fuzzy calendar yang digunakan, yaitu awal minggu or awal tahun. Penggunaan support threshold dan confidence threshold tertinggi, yaitu 40% dan 75%, menghasilkan aturan asosiasi 30 (susu) →80 (snack) dan 70 (minuman) →80 (snack) untuk jumlah transaksi sebesar 50 dan 100, namun untuk jumlah transaksi sebesar 150 tidak dihasilkan aturan asosiasi. Aturan asosiasi 70→80 dengan fuzzy calendar awal minggu or awal tahun memiliki makna bahwa “JIKA pembeli membeli barang dengan ID 70 (minuman) pada awal bulan or awal tahun, MAKA dia juga akan membeli barang dengan ID 80 (snack)”. Operator fuzzy calendar yang digunakan, antara lain and, or, xor, sub, dan complement, sedangkan time granularity yang digunakan adalah minggu, bulan, dan tahun. Dari hasil percobaan, penggunaan satu atau dua jenis fuzzy calendar pada minggu keempat Maret dan minggu kedua April tidak mempengaruhi aturan asosiasi yang dihasilkan.

(14)

Judul : Pengembangan Aplikasi

Fuzzy Temporal Association Rule

Mining

(Studi Kasus : Data Transaksi Pasar Swalayan)

Nama : Handayani Retno Suminar

NRP

: G64103032

Menyetujui:

Pembimbing I, Pembimbing II,

Imas S. Sitanggang, S.Si., M.Kom.

Annisa, S.Kom.

NIP 132206235

NIP 132311930

Mengetahui:

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Prof. Dr. Ir. Yonny Koesmaryono, M.S.

NIP 131473999

(15)

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 06 Januari 1985 di Jakarta. Penulis adalah anak kedua dari dua bersaudara pasangan Ranto dan Sumini. Pada tahun 2003, penulis lulus pendidikan SMU di SMU Negeri 21 Jakarta Timur. Pada tahun yang sama, penulis diterima sebagai mahasiswa di Program Studi Ilmu Komputer, Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI).

(16)

PRAKATA

Alhamdulillaahirabbil ‘aalamiin, puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan karya ilmiah dengan judul Pengembangan Aplikasi Data Mining Menggunakan Fuzzy Temporal Association Rules. Shalawat serta salam juga penulis sampaikan kepada junjungan Nabi Muhammad SAW beserta seluruh sahabat dan umatnya hingga akhir zaman.

Penulis menyadari bahwa keberhasilan penulisan karya ilmiah ini tidak terlepas dari pihak-pihak yang telah banyak membantu. Oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Ibu dan Bapak yang telah membantu dalam memberikan dorongan baik material maupun doa selama proses pembuatan skripsi ini. Tak lupa kakakku, Galih Purnomo Fitrianto, yang juga selalu memberikan dukungan, dan nasihat seputar dunia kuliah, serta dorongan baik material dan doa.

2. Ibu Imas S. Sitanggang, S.Si., M.Kom sebagai dosen Pembimbing I dan Ibu Annisa, S.Kom sebagai dosen Pembimbing II yang telah bersedia meluangkan waktu serta memberikan saran dan bimbingannya selama penelitian dan penulisan karya ilmiah ini.

3. Bapak Hari Agung Adrianto, S.Kom., M.Si yang telah bersedia menjadi moderator dalam seminar dan penguji penulis.

4. Gosfenry Aksamulian yang selalu mendengarkan keluh kesahku selama ini, dan dengan sabar menemaniku, walaupun jarak kita berjauhan. Terima kasih atas dukunganmu selama ini. 5. Teman-teman seperjuanganku di Ilkom, Atik, Hida, Thessi, dan Yustin, yang selalu ada untuk

memberikan dukungan, maupun saran dalam pengerjaan skripsi ini, serta seluruh teman-teman Ilkom 40 atas segala dukungan, nasihat, keceriaan, dan persahabatan yang selama ini diberikan.

6. Semua pihak lain yang telah membantu penulis, dan mohon maaf tidak dapat disebutkan satu persatu.

Penulis menyadari bahwa masih banyak kekurangan dalam pembuatan karya ilmiah ini. Oleh karena itu, kritik dan saran yang membangun sangat penulis harapkan demi perbaikan di masa mendatang. Penulis berharap hasil dari penelitian ini dapat bermanfaat bagi seluruh pihak, serta dapat menjadi acuan bagi penelitian-penelitian berikutnya.

Bogor, Juni 2007

(17)

v

DAFTAR ISI

Halaman

DAFTAR TABEL ...vi

DAFTAR GAMBAR ...vi

DAFTAR LAMPIRAN...vi

PENDAHULUAN Latar Belakang...1

Tujuan Penelitian ...1

Ruang Lingkup Penelitian

... 1

Manfaat Penelitian ...1

TINJAUAN PUSTAKA Basis Data...1

Basis Data Transaksional...1

Populasi dan Contoh...2

Knowledge Discovery in Database (KDD)...2

Himpunan Fuzzy...2

Association Rules Mining...2

Fuzzy Calendar Algebra...3

Mining Fuzzy Temporal Association Rule...4

METODE PENELITIAN Proses Dasar Sistem ...6

Lingkungan Pengembangan Sistem ...7

HASIL DAN PEMBAHASAN Transformasi Data...7

Pembersihan Data ...7

Seleksi Data ...7

Data Mining...8

Pembentukan Frequent Itemset...8

Pembentukan Aturan Asosiasi...10

Pengunaan Fuzzy Calendar...10

Representasi Pengetahuan ...12

KESIMPULAN DAN SARAN Kesimpulan...13

Saran ...13

DAFTAR PUSTAKA ...14

(18)

vi

DAFTAR TABEL

Halaman

1 Fuzzy calendar dan fungsi keanggotaannya ()...4

2 Jumlah frequent itemset untuk 50, 100, dan 150 transaksi ...9

3 Frequent itemset yang dihasilkan untuk 50, 100, dan 150 transaksi ...9

4 Jumlah aturan asosiasi untuk 50, 100, dan 150 transaksi...10

5 Waktu eksekusi (dalam detik) untuk pembentukan aturan asosiasi pada 50, 100, dan 150 transaksi...10

6 Aturan asosiasi dengan support dan confidence threshold tertinggi, yaitu 40% dan 75% pada minggu keempat Maret dan minggu kedua April dengan jumlah transaksi sebesar 50 ...11

7 Aturan asosiasi dengan confidence threshold tertinggi, yaitu 75% ...12

DAFTAR GAMBAR

Halaman 1 Tahapan dalam KDD (Han & Kamber 2001) ...2

2 Basic fuzzy calendar berasosiasi dengan time granularity dari (a) minggu (week), (b) bulan (month), dan (c) tahun (year) (Lee & Lee 2004)...3

3 Sebaran items dari (a) keseluruhan transaksi, (b) 50 transaksi per minggu, (c) 100 transaksi per minggu, (d) 150 transaksi per minggu ...8

DAFTAR LAMPIRAN

Halaman 1 Diagram alir proses data mining...16

2 Proses pembersihan data...17

3 Proses transformasi data ...18

4 Sebaran items untuk 50 transaksi ...20

5 Sebaran items untuk 100 transaksi ...24

6 Sebaran items untuk 150 transaksi ...28

7 Jumlah frequent itemset (L) untuk dataset 50, 100, dan 150 transaksi...32

8 Frequent itemset (L) untuk dataset 50, 100, dan 150 transaksi ...33

9 Jumlah aturan asosiasi (association rules)...35

10 Rata-rata waktu eksekusi pembentukan aturan asosiasi (detik) ...38

(19)

1

PENDAHULUAN

Latar Belakang

Dewasa ini, banyak sekali kegiatan yang dilakukan secara terkomputerisasi, sehingga menghasilkan data dalam jumlah besar. Dengan ketersediaan data yang semakin melimpah dari berbagai sumber, penemuan pengetahuan yang berguna dari basis data 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 basis data yang berukuran besar (Han & Kamber 2001). Salah satu teknik data mining adalah metode association rule mining yang berguna untuk menemukan aturan asosiasi pada basis data.

Seringkali kita mengekspresikan tanggal menggunakan sesuatu yang tidak pasti, seperti penggunaan kata awal bulan untuk menggambarkan kondisi keuangan yang baik, serta kata tengah dan akhir bulan untuk menggambarkan kondisi keuangan yang menipis. Kata awal, tengah, dan akhir bulan tersebut dapat diadopsi ke dalam suatu bentuk kalender, yang dinamakan fuzzy calendar. Fuzzy calendar ini dapat memberikan keleluasaan kepada pengguna untuk mendefinisikan waktu sesuai dengan keinginan mereka, sehingga pengguna tidak perlu mengetahui batasan waktu secara pasti.

Dari basis data transaksi, khususnya transaksi supermarket, dapat ditemukan aturan asosiasi untuk mengetahui keterkaitan antarbarang. Dengan mengadopsi fungsi-fungsi pada fuzzy calendar, akan dilihat kecenderungan pembelian barang oleh pembeli dalam kurun waktu tertentu. Sebagai contoh, pembeli biasa membeli kebutuhan pokok (sembako) di awal bulan, karena sebagian besar mendapatkan gaji pada periode tersebut. Kejadian seperti ini sebenarnya terekam dalam basis data, hanya saja belum tergali informasi tentang itu. Dengan mencari pola-pola dari basis data menggunakan fuzzy temporal association rules, akan terlihat keterkaitan jenis barang yang dibeli oleh pembeli pada waktu-waktu tertentu (Lee & Lee 2004). Hal ini dapat dimanfaatkan oleh pemilik swalayan dalam pengambilan keputusan terkait dengan penjualan barang pada periode waktu tertentu.

Tujuan Penelitian

Penelitian ini bertujuan untuk mengembangkan aplikasi data mining

dengan metode fuzzy temporal association rule mining untuk mengetahui keterkaitan antara beberapa item pada basis data khususnya data transaksi pembelian pada periode tertentu.

Ruang Lingkup Penelitian

Ruang lingkup untuk penelitian ini dibatasi pada penerapan metode fuzzy temporal association rule mining pada basis data khususnya data transaksi pembelian di Sinar Mart Swalayan selama 11 minggu (1 Maret 2004 - 21 Mei 2004). Percobaan dilakukan dengan membagi data menjadi 3 jenis contoh transaksi, yaitu 50, 100, dan 150 transaksi. Pembentukan himpunan fuzzy

pada penelitian ini menggunakan fuzzy calendar algebra dengan batasan 1 operator saja. Penelitian ini akan menghasilkan aplikasi fuzzy temporal association rule mining.

Manfaat Penelitian

Aplikasi yang dihasilkan pada penelitian ini diharapkan dapat digunakan untuk mengetahui keterkaitan antaritem data pada data transaksi supermarket. Keterkaitan tersebut dapat digunakan salah satunya sebagai bahan pertimbangan dalam pengambilan keputusan yang berhubungan dengan penjualan barang pada periode tertentu.

TINJAUAN PUSTAKA

Basis Data

Basis data merupakan sekumpulan data atau entitas (beserta deskripsinya) yang berhubungan secara logika, dibuat untuk memenuhi kebutuhan informasi suatu organisasi. Sistem Manajemen Basis Data (Database Management System) adalah sistem perangkat lunak yang memungkinkan pengguna mendefinisikan, menciptakan, dan mengelola suatu basis data, serta menyediakan akses kontrol terhadap basis data tersebut (Connoly & Begg 2002).

Basis Data Transaksional

Basis data transaksional terdiri dari sebuah file di mana setiap record

(20)

2

identitas transaksi yang unik (trans_id), dan sebuah daftar dari item yang membuat transaksi (seperti item yang dibeli dalam sebuah toko). Basis data transaksi dapat memiliki tabel tambahan, yang mengandung informasi lain berkaitan dengan penjualan seperti tanggal transaksi, customer ID number, ID number dari sales person dan dari kantor cabang (branch) di mana penjualan terjadi (Han & Kamber 2001).

Populasi dan Contoh

Populasi adalah keseluruhan

pengamatan yang menjadi perhatian, sedangkan contoh adalah suatu himpunan bagian dari populasi. Peluang suatu kejadian

A adalah jumlah peluang semua titik contoh dalam A.

Bila suatu percobaan mempunyai N

hasil percobaan yang berbeda, dan masing-masing mempunyai kemungkinan yang sama untuk terjadi, dan bila tepat n di antara hasil percobaan itu menyusun kejadian A, maka peluang kejadian A adalah

N n A

P( ) . (1)

Suatu contoh acak sederhana n pengamatan adalah suatu contoh yang dipilih sedemikian rupa sehingga setiap himpunan bagian yang berukuran n dari populasi mempunyai peluang terpilih yang sama (Walpole 1995).

Knowledge Discovery in Database (KDD) Knowledge discovery in Database

merupakan suatu proses menemukan pengetahuan dari suatu basis data yang terdiri atas urutan langkah– langkah seperti diilustrasikan pada Gambar 1 (Han & Kamber 2001).

Gambar 1 Tahapan dalam KDD (Han & Kamber 2001).

Tahapan – tahapan pada KDD adalah sebagai berikut:

1 Pembersihan data: data dibersihkan untuk menghilangkan noise dan data yang tidak konsisten.

2 Pengintegrasian data: data digabungkan dari berbagai sumber.

3 Seleksi data: data yang relevan dengan proses analisis diambil dari basis data.

4 Transformasi data: data

ditransformasikan atau digabungkan ke dalam bentuk yang sesuai untuk

di-mining dengan cara dilakukan peringkasan atau operasi agregasi. Pada beberapa kasus, transformasi data dilakukan sebagai langkah praproses sebelum pembersihan data dan pengintegrasian data di mana data yang dihasilkan dari langkah praproses tersebut disimpan dalam data warehouse.

5 Data mining: merupakan proses yang penting dalam KDD di mana metode metode cerdas diaplikasikan untuk mengekstrak pola – pola dari kumpulan data.

6 Evaluasi pola: mengidentifikasikan pola–pola yang menarik yang merepresentasikan pengetahuan berdasarkan suatu ukuran kemenarikan. 7 Representasi pengetahuan : pengetahuan

yang telah digali divisualisasikan kepada pengguna

Himpunan Fuzzy

Sebuah himpunan fuzzy berbeda dengan himpunan crisp ataupun Boolean. Himpunan

fuzzy memiliki fungsi keanggotaan, yaitu fungsi yang menjelaskan hubungan antara nilai dari himpunan dan derajat keanggotaannya. Pada himpunan fuzzy

terdapat membran semipermeable, yang mana anggotanya dibagi menjadi 3, yaitu bukan anggota, anggota penuh, dan anggota sebagian dari himpunan (Cox 2005).

Association Rules Mining

Association rule mining berguna untuk menemukan aturan asosiasi pada basis data. Pada dasarnya aturan asosiasi digunakan untuk menggambarkan keterkaitan antaritem pada sekumpulan data. Penggalian aturan asosiasi di antara record yang jumlahnya sangat banyak dapat membantu proses pengambilan keputusan (Han & Kamber 2001). Association rules menggunakan bentuk “Jika Antecedent, maka Consequent”.

Ukuran kekuatan dari aturan asosiasi adalah

(21)

3

Support

Support untuk suatu aturan asosiasi, A→B, adalah proporsi banyaknya kejadian dalam basis data di mana item A dan item B terdapat dalam sebuah transaksi (Larose 2005). Definisi formal dari support adalah sebagai berikut:

Support=P(AB). (2)

Confidence

Confidence untuk suatu aturan asosiasi, A→B, adalah ukuran keakuratan dari aturan, yang dihitung dari persentase transaksi dalam basis data yang mengandung item A dan juga mengandung item B (Larose 2005). Definisi formal dari confidence adalah sebagai berikut: Confidence= ) ( ) ( A P B A P

. (3)

Sebagai contoh, suatu supermarket menemukan dari 1000 pelanggan yang berbelanja pada hari kamis malam. Dari 200 orang yang membeli diapers, terdapat 50 orang membeli bir. Maka aturan asosiasi yang terbentuk adalah “Jika membeli diapers, maka membeli bir” dengan support

50/1000=5% dan confidence 50/200=25% (Larose 2005).

Itemset adalah himpunan item. Sebuah

itemset dikatakan frequent, jika kemunculannya lebih besar atau sama dengan batas support.

Fuzzy Calendar Algebra

Sebuah kalender merupakan koleksi terstruktur dari interval waktu. Teori himpunan fuzzy diadopsi untuk membangun kalender. Konsep dan operasi dari fuzzy

digunakan untuk membantu pengguna dalam mengekspresikan kalender dengan baik dan mudah. Untuk membangun kalender, hirarki dari time granularity, seperti minggu, bulan,

dan tahun, digunakan untuk

mendeskripsikan multiple time granularity

(Lee & Lee 2004). Definisi-definisi untuk membangun fuzzy calendar akan dijelaskan di bawah ini (Lee & Lee 2004).

Definisi 1: Sebuah basic fuzzy calendar,

A, mencirikan sebuah proposisi fuzzy tentang koleksi dari interval waktu pada sebuah time granularityU, dideskripsikan sebagai fungsi keanggotaan A, dengan

 

0,1

:U

A

untuk setiap interval waktu TiU. Nilai

fungsi

 

i T A

 mengindikasikan

pencocokan derajat dari Ti ke A. Contoh dari fuzzy calendar ditunjukkan pada Gambar 2.

Gambar 2 Basic fuzzy calendar berasosiasi dengan time granularity dari (a) minggu (week), (b) bulan (month), dan (c) tahun (year) (Lee & Lee 2004).

Definisi 2: Sebuah fuzzy calendar

didefinisikan sebagai berikut:

1 Sebuah basic fuzzy calendar adalah

fuzzy calendar.

2 Jika A dan B adalah dua buah fuzzy calendar, maka operasi A and B, A or B, not A, A xor B, dan A sub B juga merupakan fuzzy calendars.

(22)

4

A B

B A A B B A                    1 1

1 2 2

B A

Definisi 3: A dan B adalah fuzzy calendar dengan fungsi keanggotaan A dan B dengan penjelasan sebagai berikut: 1 A and B dinotasikan dengan AB,

dengan fungsi keanggotaan AB didefinisikan oleh

B A

 t[A,B] (4) dengan t adalah salah satu kelas dari

operator-operator fuzzy intersection, yang biasanya dinyatakan sebagai operator t-norm.

2 A or B dinotasikan dengan AB, dengan fungsi keanggotaan AB didefinisikan oleh

B A

 s[A,B] (5)

dengan s adalah salah satu kelas dari operator-operator fuzzy union, yang biasanya dinyatakan sebagai operator s-norm.

3 not A dinotasikan dengan komplemen dari A, A, dengan fungsi keanggotaan

A

 didefinisikan oleh

A

 c[A] (6)

dengan c adalah salah satu kelas dari operator komplemen fuzzy.

4 A xor B dinotasikan dengan perbedaan simetris dari A dan B, AB, dengan fungsi keanggotaan

B A  didefinisikan oleh ]] ], [ [ ]], [ , [

[t Ac B tc A B

s B

A    

 (7)

5 A sub B dinotasikan dengan

pengurangan kalender A dari B, A – B, dan

]] [ ,

[ A c B

t B

A  

 (8)

adalah hasil fungsi keanggotaan.

Partisi merupakan bagian-bagian kecil yang dibedakan berdasarkan tanggal. Rumus-rumus (4), (5), (6), (7), dan (8) digunakan untuk mencari bobot pada tiap partisi, dengan rumus sebagai berikut:

B

A

 AB (9)

B A

 ABAB (10)

A

 1A (11)

B A A B

A   

     (13)

Tabel 1 menunjukkan fuzzy calendar

beserta fungsi keanggotaannya () sesuai Gambar 2.

Tabel 1 Fuzzy calendar dan fungsi keanggotaannya ()

No Fuzzy Calendar

1 Beginning of the week (bw) bw

2 Middle of the week (mw) mw

3 End of the week (ew) ew

4 Beginning of the month (bm) bm 5 Middle of the month (mm) mm 6 End of the month (em) em 7 Beginning of the year (by) ey 8 Middle of the year (my) my 9 End of the year (ey) ey

Sebagai contoh fuzzy calendar c1 dengan operasi (in the middle of a month or at the beginning of a year) dapat dijelaskan menggunakan fungsi derajat keanggotaan:

) (

) (

1 mm by mm by

c    

     . (14)

Dua relasi, equivalence dan containment, bisa berada antara dua fuzzy calendar.

Definisi 4: A dan B adalah fuzzy calendar. Relasi equivalence, dinotasikan

, antara A dan B yang didefinisikan oleh

 

x

 

x

x B

A  ,A B (15)

dan relasi containment, dinotasikan

, antara A dan B yang didefinisikan oleh

 

x

 

x x

B

A  ,A B (16)

Mining Fuzzy Temporal Association Rule Itemset adalah himpunan dari items, dengan I={i1.i2,i3....,im}. D adalah basis data

yang menyimpan transaksi, dimana setiap transaksi t diidentifikasikan oleh TID. Basis data D dibagi menjadi n partisi, yaitu

,..., , 2 1 P

P dan Pn. Kemudian bobot (wi)

dari tiap partisi Pi dihitung, berdasarkan

persamaan 9 sampai 13, yang berasal dari

query waktu yang dimasukan oleh pengguna. Untuk sebuah partisi Pi,

didefinisikan weighted count threshold, mi

dari Pi, dengan rumus:

%

s P w

miii  (17)

dengan |Pi| adalah jumlah transaksi pada

partisi Pi, wi adalah bobot pada tiap partisi Pi, dan s% adalah support threshold.

(23)

5

Setelah itu, akan dicari cumulative weighted count threshold, Mij, dari partisi Pi ke

partisi Pj atau Pi,Pi+1,...,Pj, sehingga i

ii m

M  (18)  j j

i

ij M m

M  1  (19) dengan 1ijn dengan n adalah banyaknya partisi dalam basis data.

Proses selanjutnya mencari himpunan

candidate 2-itemset, C2, kemudian mencari

candidate frequent itemset, C. Akhirnya, dengan memeriksa basis data D sekali lagi, akan didapat frequent itemset, L, dari C. Dari L, aturan asosiasidapat ditemukan.

Sebuah 2-itemset I adalah partially frequent untuk partisi Pj, jika berada dalam

sebuah partisi Pi, 1ijn, maka cumulative weighted count dari I, Uij(I), dalam Pi,Pi+1,...,Pj bernilai lebih besar atau

sama dengan Mij. Cumulative weighted count dari I, Uij(I), didefinisikan sebagai

U (I) (I) i P

ii  (20)

dan

U (I) U( 1) (I) j P j i

ij    , (21) dengan (I)

i P

 adalah weighted count dari I dalam Pi yang didefinisikan sebagai

) (I

i P

 wiPi(I)

.

(22) Dimulai dari partisi P1, partisi akan diproses satu demi satu. Inisialisasi C2

adalah himpunan kosong. Jika I tidak terdapat pada C2 dan (I)

i P

 lebih besar atau sama dengan mi, maka I ditambahkan

pada C2, tetapi jika I sudah ada dalam C2,

maka partisi awal dari I dan cumulative weighted count dari I direkam sebagai Pj dan Ui(j-1). Jika

Ui(j-1) + Pj(I)Mij

(23)

maka I tetap disimpan dalam C2 dan cumulative weighted count dari I di

-perbaharui menjadi Ui(j-1) + Pj(I)

,

tetapi

jika

Ui(j-1) + (I) j P

 Mij

(24)

maka I dihapus dari C2 dan semua informasi

mengenai I juga dihapus. C2 digunakan

untuk mencari candidate k-itemsets, Ck,

dengan ketentuan sebagai berikut: 2 ,

1  

C C k

Ck k k . (25)

D adalah gabungan dari semua candidate k-itemsets, k≥2,

. 2    k k C

C (26)

Proses selanjutnya adalah mencari

frequent itemset, L, dengan memeriksa basis data sekali lagi. Untuk setiap I dalam C,

weighted count dari itemsetI pada basis data

D, dinotasikan D

 

I digunakan untuk menghitung seberapa sering itemset I

muncul dalam basis data D, dengan

 

I

D

 

 

n

i i i

w I P

1

, (27)

dengan |Pi(I)| adalah jumlah transaksi yang

mengandung itemsetI pada partisi Pi, dan wi

adalah bobot pada partisi Pi.

Itemset I adalah frequent dengan

support threshold, s%, jika

 

I

D

 

% 1 s w I P n

i i i

       

 . (28)

Persamaan

 

%

1 s w I P n

i i i

      

 disebut

cumulative weighted count threshold dari D, atau disimbolkan menjadi M1n, dengan n

adalah banyaknya partisi yang terbetuk pada basis data D. Jika nilai (I)

i P

 lebih besar atau sama dengan M1n, maka I adalah frequent itemset (L) dalam basis data D. Lk

adalah himpunan dari frequent k-itemset. Sama seperti pencarian C, pencarian L, juga dimulai dari L2, kemudian dari L2 diperluas menjadi L3 sampai Lk. Himpunan frequent itemset, L, dari D kemudian mengandung

. 2    k k L

L

(29)

Fuzzy temporal association rule dapat ditemukan setelah frequent itemset, L,

diperoleh. Sebuah fuzzy temporal association rule yang mengacu pada fuzzy calendar, FC, adalah implikasi dari bentuk

Y

XFC (30)

dengan X

I ,

Y

I , dan

X

Y

Ø,

yang mana I =

i1,i2,i3,...,im

. Aturan

asosiasi dari XFC Ydisebut memenuhi

weighted support, s% dari basis data D, jika

XY

D

 

% 1 s w I P n

i i i

      

.

(31)

Untuk sebuah association rule XFC Y, dengan

X Y

/ D

 

X c%

D   

 . (32)

dikatakan berada pada basis data D dengan

weighted confidence c%. I terdiri atas X dan

Y, sehingga XYI dan

X

Y

Ø.

Y

XFC dikatakan aturan asosiasi jika %

) ( / )

(I D X c

D  

(24)

6

METODE PENELITIAN

Proses Dasar Sistem

Proses dasar sistem mengacu pada proses dalam Knowledge Discovery in Database (KDD). Proses tersebut dapat diuraikan sebagai berikut:

1 Pembersihan Data

Pada tahap ini, data yang mengandung nilai hilang (kosong), noise, maupun data yang tidak konsisten dibuang. Transaksi yang mengandung 1 jenis barang dihapuskan. Selain itu, barang yang sama namun berulang lebih dari 1 record secara berurutan dijadikan 1 record saja.

2 Transformasi Data

Pada tahap ini, data ditransformasikan ke dalam bentuk yang sesuai untuk proses selanjutnya. Tanggal yang semula berformat

date ditransformasikan ke dalam bentuk numerik (datenum). Selain itu, ID dari barang yang semula berupa 1 digit

ditransformasikan menjadi 2 digit. Hal ini disebabkan oleh proses perhitungan yang menggunakan matriks pada Matlab, sehingga ukuran dari ID harus sama. 3 Seleksi Data

Jumlah data yang sangat banyak memerlukan penyeleksian yang tepat. Data dibuat ke dalam bentuk contoh yang mewakili, yang dalam hal ini jumlah transaksi akan diseleksi dan dibagi ke dalam beberapa bentuk.

4 Data Mining

Tahap ini merupakan inti untuk melakukan analisis terhadap data. Proses ini menggunakan fuzzy temporal association rule yang diajukan oleh Wan Jui Lee dan Shie Jue Lee (2004). Tahapan-tahapan yang digunakan dalam penelitian kali ini adalah sebagai berikut:

Pertama: Transaksi – transaksi yang tercatat dalam basis data D dibagi menjadi beberapa partisi yang masing –

masing memuat sebuah himpunan dari transaksi berdasarkan periode waktu (tanggal).

Kedua: Bobot dari setiap partisi dihitung, berdasarkan pencocokan derajat keanggotaan dari tanggal dengan

fuzzy calendar yang ditentukan oleh query dari pengguna (persamaan 9 sampai 13).

Ketiga: Perhitungan weighted count threshold (m), sesuasi persamaan 17, di tiap partisi untuk menyaring pola-pola yang cukup penting dalam sebuah partisi, karena jika

sebuah pola tidak cukup penting dalam sebuah partisi, maka pola tersebut tidak akan penting untuk basis data secara keseluruhan. Setelah itu, cumulative weighted count threshold (Mij) di tiap

partisi juga dihitung, sesuai persamaan 18 dan 19, untuk menyaring pola-pola yang penting pada urutan partisi-partisi selanjutnya.

Keempat: Mencari semua kemungkinan kombinasi 2 item di tiap partisi, kemudian menghitung weighted count ( (I)

i P

 ), sesuai persamaan 22, dan cumulative weighted count (Uij), sesuai persamaan 20

dan 21 untuk masing-masing kombinasi 2 item.

Kelima : Membandingkan cumulative weighted count (Uij) tiap

kombinasi dengan cumulative weighted count threshold (Mij).

Jika Uij>= Mij maka kombinasi 2 itemset tersebut lolos sebagai

candidate 2 itemsets (C2).

Kemudian, dari C2 akan diperluas

menjadi C3, C4, sampai Ck, dan

didapat candidate frequent itemset

(C), sesuai persamaan 26. Keenam : Dari C yang sudah didapat akan

dicari frequentitemset (L) dengan

memeriksa basis data sekali lagi, serta dihitung juga cumulative weighted count (Uij) dari

masing-masing L untuk dibandingkan dengan M1n (persamaan 27 sampai

29), dengan n adalah banyaknya partisi dalam basis data.

Ketujuh : Pencarian semua kemungkinan aturan asosiasi berdasarkan L

yang didapat, serta menghitung

confidence, sesuai persamaan 32, dari masing-masing aturan

asosiasi, dan akan

membandingkannya dengan

confidence threshold yang telah didefinisikan oleh pengguna sebelumnya.

5 Representasi Pengetahuan
(25)

7

Lingkungan Pengembangan Sistem

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

a Perangkat keras berupa komputer personal dengan spesifikasi:

Processor: Intel Pentium IV 2,4 MHz

Memory: 1 GB

Harddisk 80 GB

Keyboard, mouse, dan monitor

b Perangkat lunak yang digunakan:

 Sistem operasi: Microsoft®

Windows XP Professional

 MATLAB 7.0.1 sebagai bahasa pemrograman

 Microsoft® Excel 2003 sebagai pengolah data

HASIL DAN PEMBAHASAN

Pembersihan Data

Pada tahap ini, transaksi yang hanya berisi 1 jenis barang dihapus. Barang yang sama namun berulang lebih dari 1 record

secara berurutan dijadikan 1 record saja. Kedua hal tersebut dilakukan untuk mempermudah proses penambangan data. Contoh data awal dan data yang telah dibersihan dapat dilihat pada Lampiran 2.

Transformasi Data

Pada tahap ini, data yang

ditransformasikan adalah tanggal. Tanggal yang semula berformat date diubah menjadi format numerik (datenum) dengan menggunakan fungsi datenum yang ada di Matlab. Tanggal memegang peranan penting dalam proses pembobotan, sehingga harus diubah ke dalam format numerik agar dapat dihitung.

Jenis barang pada basis data berjumlah 35. Awalnya pengkodean ID barang berupa 1 digit dan dimulai dari angka 1 sampai 35. Namun karena sebagian besar proses dikerjakan menggunakan matriks pada Matlab, semua ID barang harus diubah ke dalam digit yang sama, yaitu 2 digit, seperti susu memiliki ID 30 dan snack memiliki ID

80. Contoh data awal beserta perubahan setelah proses transformasi dapat dilihat pada Lampiran 3.

Seleksi Data

Data pada penelitian kali ini berjumlah cukup besar, yaitu 27854 baris. Jumlah keseluruhan transaksi yang ada pada basis data adalah 9110 transaksi. Jika jumlah tersebut dibagi menjadi 11 minggu, maka masing-masing minggu berisi sekitar 829 transaksi. Dan jika setiap transaksi memiliki pembelian sekitar 3 barang, maka setiap minggu berisi 2487 baris. Jumlah baris yang sangat besar ini menyebabkan waktu eksekusi menjadi sangat lama. Oleh sebab itu, setiap minggu dibatasi dalam 3 himpunan data dengan ukuran 50, 100, 150 transaksi.

Dataset yang diambil sebagai contoh adalah perwakilan setiap minggu. Jika contoh yang diambil adalah perwakilan setiap hari dengan 50 transaksi, maka dengan pembelian sekitar 3 barang akan dihasilkan 150 baris per hari. Untuk melihat keefektifan sistem dibutuhkan 3 partisi atau lebih. Jika 150 baris dikalikan dengan 3 hasilnya adalah 450 baris, maka untuk partisi sebesar 7, hasilnya adalah 1050 baris. Waktu eksekusi yang dibutuhkan untuk memproses 1050 baris tersebut sangat lama. Oleh sebab itu, contoh yang diambil dibatasi perwakilan setiap minggu saja. Sebagai contoh dengan 150 transaksi per minggu, setiap hari rata-rata berisi 16 sampai 25 transaksi dikalikan dengan pembelian sekitar 3 barang, maka akan dihasilkan sekitar 500 sampai 700 baris per minggu. Hasil ini sangat efisien, karena dengan 700 baris hasil yang didapat sudah mewakili data dalam 1 minggu, serta waktu eksekusi programnya bisa lebih cepat.

Proses pengambilan contoh untuk masing-masing jenis transaksi tersebut menggunakan teknik acak sederhana. Setiap tanggal di setiap minggu dicari peluangnya masing-masing. Kemudian, dicari sebarannya dengan cara mengalikan peluang di tiap tanggal dengan jumlah transaksi yang diinginkan. Tentu saja hasil sebarannya harus sama dengan sebaran keseluruhan data pada basis data, agar data tetap konsisten dan tidak terjadi perubahan yang mencolok antara data sebelum diseleksi dengan yang sudah diseleksi. Pencarian nilai peluang menggunakan program dalam Matlab (tidak

(26)

8

(a)

(b)

(c)

(d)

Gambar 3 Sebaran items dari (a) keseluruhan transaksi, (b) 50 transaksi per minggu, (c) 100 transaksi per minggu, (d) 150 transaksi per minggu. Sebaran items untuk semua minggu dapat dilihat pada Lampiran 4, 5, dan 6.

Data Mining

Tahap data mining menggunakan metode fuzzy temporal association rule mining (Lee & Lee 2004). Secara garis besar, proses ini dibagi menjadi 2 bagian, yaitu pembentukan frequent itemset, dan pembentukan aturan asosiasi. Pada kedua proses tersebut menggunakan fuzzy calendar

awal minggu or awal tahun. Terdapat 1 proses lagi untuk melihat keefektifan fuzzy calendar dengan menerapkan 1 dan 2 jenis

fuzzy calendar pada minggu yang menghasilkan frequent itemset terbanyak.

Pembentukan FrequentItemset

Proses dimulai dengan pemilihan jenis minggu oleh pengguna. Kemudian pengguna harus memasukan support dan confidence threshold untuk menyaring pola-pola yang berarti dalam basis data. Setelah itu, pengguna dapat memilih kombinasi fuzzy calendar yang tepat untuk memperoleh aturan asosiasi yang maksimal.

(27)

9

Desember). Data yang digunakan kali ini hanya terdiri dari 3 jenis bulan, yaitu Maret, April, dan Mei. Proses perhitungan bobot menggunakan fungsi weekday untuk hari dalam minggu, day untuk tanggal dalam bulan, serta month untuk bulan dalam tahun. Fungsi-fungsi tersebut telah ada dalam Matlab (built in). Setelah bobot pada tiap partisi diperoleh, sistem akan mencari

frequent itemset (L) dengan langkah-langkah seperti yang telah dijelaskan sebelumnya.

Percobaan dilakukan dengan

menggunakan operasi fuzzy calendar, yaitu Awal Minggu Or Awal Tahun. Pemilihan operasi fuzzy calendar ini terkait dengan data yang diperoleh, yaitu pada bulan Maret, April, dan Mei, yang cenderung berada di awal tahun. Dengan pencocokan sesuai fungsi dari fuzzy calendar, akan diperoleh bobot yang besar, sehingga frequent itemset

yang dihasilkan pun lebih banyak.

Untuk melihat perbedaan pembentukan

frequent itemset pada 50, 100, dan 150 transaksi, digunakan support threshold, yaitu 20%, 30%, dan 40%. Support threshold maksimal 40% dipilih karena pada

support threshold 40% sudah tidak dihasilkan frequent itemset untuk dataset

150 transaksi. Tabel 2 menunjukkan jumlah

frequent itemset dengan support threshold

(S), yaitu 20%, 30%, dan 40%, yang diambil dengan menjumlahkan frequent itemset yang terbentuk pada masing-masing minggu.

Tabel 2 Jumlah frequent itemset untuk 50, 100, dan 150 transaksi

Jenis Transaksi S=20% S=30% S=40%

50 Transaksi 86 10 4

100 Transaksi 77 6 2

150 Transaksi 40 2 0

Dari Tabel 2 dapat dilihat bahwa terjadi penurunan jumlah frequent itemset yang dihasilkan dengan bertambahnya support threshold. Pada 150 transaksi dengan

support threshold 40% tidak dihasilkan

frequent itemset apapun. Jumlah frequent itemset terbesar diperoleh pada 50 transaksi. Penurunan ini disebabkan oleh semakin banyaknya kombinasi items yang dibeli seiring dengan semakin banyaknya jumlah transaksi, namun jumlah kemunculannya justru sedikit, sehingga kombinasi items

tersebut tidak lolos seleksi saat dibandingkan dengan support threshold.

Tabel 3 menunjukkan hasil frequent itemset

untuk 50, 100, dan 150 transaksi yang

diperoleh dengan menggabungkan frequent itemset yang terbentuk dari tiap minggu.

Tabel 3 Frequent itemset yang dihasilkan untuk 50, 100, dan 150 transaksi

Jenis Transaksi S=20% S=30% S=40% 50 Transaksi 3080,6080,

7080,1011, 3070,6070, 8014,1080, 1014,1030, 1428,7014, 3014,8013, 8034,8090, 4080,7034, 1070,1314, 6014, 108014, 307080, 708034 6080,7080, 8014,3080, 1080,1014, 3070 7080, 3080, 8014

100 Transaksi 3080,6080, 7080,8014, 1080,3070, 1014,1030, 4014,4080, 7014,3014, 1428,8028, 307080 3080,7080, 1080,8014 3080, 7080

150 Transaksi 3080,6080, 1080,8014, 7080,3070

3080,7080 -

Tabel 3 menyajikan informasi barang-barang yang sering dibeli, yaitu barang-barang dengan ID 10 (mie instant), 14 (sabun), 28 (pasta gigi), 30 (susu), 34 (tissue), 40 (kopi), 60 (permen), 70 (minuman), dan 80 (snack).

Frequent itemset yang terbentuk terdiri dari 2 dan 3 items. Frequent 2 itemset yang muncul dengan support threshold tertinggi, yaitu 40%, adalah 3080, 7080, dan 8014. Ini berarti pasangan barang yang sering dibeli secara bersamaan adalah susu (30) dan snack

(80), minuman (70) dan snack (80), dan

snack (80) dan sabun (14). Frequent 3

itemset hanya muncul pada 50 dan 100 transaksi dengan support threshold sebesar 20%. Frequent 3 itemset tersebut adalah 307080, 108014, dan 708034. Ini berarti 3 barang yang sering dibeli secara bersamaan adalah susu (30), minuman (70), dan snack

(80); mie instant (10), snack (80), dan sabun (14); minuman (14), snack (80), dan tissue

(28)

10

Tabel 4 Jumlah aturan asosiasi untuk 50, 100, dan 150 transaksi

S=20% S=30% S=40%

No

Jenis Transaksi

c=65% c=70% c=75% c=65% c=70% c=75% c=65% c=70% c=75%

1 50 Transaksi 43 32 28 15 11 8 6 6 4

2 100 Transaksi 35 23 16 14 9 7 2 2 2

3 150 Transaksi 22 14 10 5 5 3 0 0 0

Tabel 5 Waktu eksekusi (dalam detik) untuk pembentukan aturan asosiasi pada 50, 100, dan 150 transaksi

No Jenis Transaksi S=20% S=30% S=40% c=65% c=70% c=75% c=65% c=70% c=75% c=65% c=70% c=75%

1 50 Transaksi 56.716 56.693 56.642 26.75 26.746 26.74 20.833 20.833 20.828

2 100 Transaksi 82.969 82.963 82.898 52.514 52.501 52.474 42.355 42.355 42.354

3 150 Transaksi 87.121 87.081 87.007 62.649 62.645 62.635 58.094 58.094 58.094

Pembentukan Aturan Asosiasi

Dari semua frequent itemset yang telah didapat, dibangkitkan semua aturan asosiasi yang mungkin. Kemudian semua aturan tersebut dihitung nilai

confidence-nya. Aturan asosiasi yang memiliki nilai

confidence di atas confidence threshold (c) diambil, dan sisanya dibuang. Fuzzy calendar yang digunakan masih sama seperti saat pembentukan frequent itemset, yaitu awal minggu or awal tahun.

Beberapa percobaan penerapan

confidence threshold telah dilakukan pada 50, 100, dan 150 transaksi, dan diperoleh batas 65%, 70%, dan 75%. Alasan pengambilan batas ini karena ada beberapa transaksi yang tidak menghasilkan aturan asosiasi pada confidence threshold di atas 75%. Berdasarkan Tabel 4, aturan asosiasi paling banyak diperoleh pada 50 transaksi, sedangkan aturan asosiasi paling sedikit terjadi pada 150 transaksi. Pada support threshold tertinggi, yaitu 40%, dan

confidence threshold tertinggi, yaitu 75%, jumlah aturan paling banyak terdapat pada 50 transaksi sebanyak 4 aturan, pada 100 transaksi hanya diperoleh 2 aturan, sedangkan pada 150 transaksi tidak dihasilkan aturan asosiasi apapun.

Waktu eksekusi pada Tabel 5 dihitung dengan menjumlahkan waktu eksekusi pembentukan frequent itemset dan pembentukan aturan asosiasi dari masing-masing minggu di tiap jenis transaksi. Dari Tabel 5 dapat dilihat bahwa waktu eksekusi terendah terjadi pada 50 transaksi, sedangkan waktu eksekusi tertinggi terjadi pada 150 transaksi. Waktu eksekusi pembentukan aturan asosiasi semakin

meningkat seiring dengan bertambahnya jumlah transaksi. Jika jumlah transaksi semakin besar, maka semakin banyak items

yang harus diperiksa atau diseleksi. Di lain pihak, waktu eksekusi semakin menurun seiring dengan bertambahnya support threshold dan confidence threshold, karena semakin sedikit itemset yang mewakili sebagian besar transaksi dalam basis data. Waktu eksekusi terendah terjadi pada 50 transaksi dengan support threshold 40% dan

confidence threshold 75% sebesar 20.828 detik, sedangkan waktu eksekusi tertinggi terjadi pada 150 transaksi dengan support threshold 20% dan confidence threshold

65% sebesar 87.121 detik.

Pengunaan Fuzzy Calendar

Untuk melihat keefektifan dari fuzzy calendar, dilakukan percobaan untuk satu jenis fuzzy calendar dan beberapa kombinasi

fuzzy calendar dengan operator yang berbeda-beda. Pemilihan minggu keempat bulan Maret dan minggu kedua bulan April dengan 50 transaksi, karena pada kedua periode waktu tersebut diperoleh frequent itemset terbanyak dengan support threshold

(29)

11

Tabel 6 Aturan asosiasi dengan support dan confidence threshold tertinggi, yaitu 40% dan 75% pada minggu keempat Maret dan minggu kedua April dengan jumlah transaksi sebesar 50

No Fuzzy Calendar Minggu 4 Maret Minggu 2 April

1 Awal Minggu 70→80 -

2 Akhir Minggu 70→80 -

3 Awal Tahun 70→80 30→80

4 Tengah Bulan - -

5 Akhir Bulan 70→80 -

6 Awal Minggu OR Awal Tahun 70→80 30→80

7 Tengah Bulan OR Awal Tahun 70→80 30→80

8 Akhir Bulan OR Awal Tahun 70→80 30→80

9 Awal Minggu AND Awal Tahun 70→80 -

10 Tengah Bulan XOR Awal Tahun 70→80 30→80

11 Awal Tahun SUB Akhir Minggu 70→80 30→80

12 Awal Tahun SUB Tengah Bulan 70→80 30→80

13 Not Akhir Minggu 70→80 30→80, 80→30

1 Awal Minggu memiliki makna bahwa pencarian aturan asosiasi berada pada awal minggu, yaitu hari Minggu (1), Senin (2), dan Selasa (3). Aturan asosiasi yang dihasilkan untuk minggu keempat Maret adalah 70→80, namun tidak dihasilkan aturan asosiasi apapun untuk minggu kedua April.

2 Akhir Minggu memiliki makna bahwa pencarian aturan asosiasi berada pada akhir minggu, yaitu hari Kamis (5), Jumat (6), dan Sabtu (7). Aturan asosiasi yang dihasilkan untuk minggu keempat Maret adalah 70→80, namun tidak dihasilkan aturan asosiasi apapun untuk minggu kedua April.

3 Awal Tahun memiliki makna bahwa pencarian aturan asosiasi berada pada awal tahun, dimana bulan Maret dan April berada. Setelah dilakukan proses perhitungan, diperoleh aturan asosiasi untuk minggu keempat Maret, yaitu 70→80, dan untuk minggu kedua April,

yaitu 30→80.

4 Tengah Bulan memiliki bahwa

pencarian aturan asosiasi berada dipertengahan bulan, yaitu tanggal 10 sampai tanggal 21. Akan tetapi, tidak diperoleh aturan asosiasi untuk minggu keempat Maret dan minggu kedua April pada periode waktu tersebut.

5 Akhir Bulan memiliki bahwa pencarian aturan asosiasi berada dipertengahan bulan, yaitu tanggal 16 sampai tanggal 31. Aturan asosiasi yang dihasilkan untuk minggu keempat Maret adalah 70→80, namun tidak dipero

Gambar

A→dalam basis data di mana B, adalah proporsi banyaknya kejadian item A dan item B Gambar 2
Tabel 1
Gambar 3
Tabel 3 Frequent itemset yang dihasilkan   untuk 50, 100, dan 150 transaksi
+4

Referensi

Dokumen terkait

Kalo disinikan kalo sakit kan ke dukun eeeeee masih percaya kea pa ituuu eeeee ke dukun eeee iya kemaren sih sama di dinas kesahatan itu sama dinas kesehatan itu bilang sendiri

transesteriikasi in situ menggunakan metanol daur ulang didalam reaktor ultrasonik dapat menghasilkan rendemen tertinggi antara 56,64–57,87% pada perbandingan bobot metanol

Dengan ditetapkannya Kawasan Tanpa Rokok diharapkan perokok tidak merokok di tempat-tempat ramai atau tempat-tempat umum sehingga tidak merugikan orang lain yang

Hubungan Waktu Kerja Terhadap Hasil Kerja Pada Pelaksanaan Uji Kompetensi Praktik Kejuruan Bidang Pemesinan Bubut di SMK Negeri 6 Bandung.. Fakultas

Namun demikian mengingat sensor CZCS sudah tidak beroperasi lagi, maka untuk memvalidasi penggunaan sensor AVHRR satelit NOAA dalam mendeteksi

REGISTER PENINDAKAN TGL FORM NAMA ALAMAT PASAL BRNG BUKTI KENDARAAN JENIS NOPOL DENDA PERKARA BIAYA SUBSIDER PERKARA NOMOR 1 4177407 14/09/2017 Merah ADITYA AKBAR DWT JAYA 281

Hasil penelitian dari kemampuan bahasa melalui metode story reading sebelum dilakukan tindakan pencapaian prosentase sebesar 37,2%, pada Siklus I prosentasenya mencapai

Senin Selasa Rabu Kamis Jum’at Sabtu Juli Agustus Septemb er Oktober Novemb er Desembe r Jumlah Mata Pelajaran Hari Jumlah Senin Selasa Rabu Kamis Jum’at Sabtu.. PKn