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
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
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.
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
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).
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
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
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) ...22 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...162 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
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
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
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
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
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.
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
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).
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
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
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) ...22 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...162 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
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
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
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.
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 AB 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
AB (9)
B A
ABAB (10)
A
1A (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
xx B
A ,A B (15)
dan relasi containment, dinotasikan
, antara A dan B yang didefinisikan oleh
x
x xB
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
mi i i (17)
dengan |Pi| adalah jumlah transaksi pada
partisi Pi, wi adalah bobot pada tiap partisi Pi, dan s% adalah support threshold.
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 1i jn 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, 1i jn, 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)
,
tetapijika
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 Imuncul dalam basis data D, dengan
ID
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
ID
% 1 s w I P ni 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
X FC (30)
dengan X
I ,Y
I , danX
Y
Ø,yang mana I =
i1,i2,i3,...,im
. Aturanasosiasi dari XFC Ydisebut memenuhi
weighted support, s% dari basis data D, jika
XY
D
% 1 s w I P ni i i
.
(31)Untuk sebuah association rule X FC 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
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
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 DataPada 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
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.
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
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
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