6 Representasi Pengetahuan
Tahap ini merupakan tahap akhir dari proses KDD. Sederetan aturan atau rule disajikan kepada pengguna dengan menggunakan algoritme Rule Generation.
Mulai
Data transaksi
Pembersihan data
Monitor 14” dengan resolusi 1024 x 768 pixel Alat input : mouse dan keyboard
b. Perangkat lunak yang digunakan : Sistem Operasi : Microsoft Windows 7 Professional Microsoft Excel 2007 sebagai lembar kerja (worksheet) dalam pengolahan data Microsoft Visual Studio 2010 sebagai IDE pembangunan sistem. C++ dan C# sebagai bahasa pemrograman
Seleksi data
HASIL DAN PEMBAHASAN Transformasi data
Data Mining
Pemberian nilai minimum support
Penentuan frequent 1-sequences
Pembentukan frequent sequences
Apakah terdapat K+1 sequences ?
Ya
Tidak
Output
Evaluasi Pola
Representasi Pengetahuan
Selesai
Gambar 3 Diagram alur metode penelitian. Lingkungan Pengembangan Sistem Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam pengembangan sistem adalah sebagai berikut : a.
Perangkat keras dengan spesifikasi : Processor : Intel(R) Core(TM) 2 Duo Memory : 1 GB Harddisk : 160 GB
Pada penelitian ini, data yang digunakan adalah data transaksi pembelian Sinar Mart Swalayan selama periode waktu 1 Maret hingga 31 Maret 2004. Data transaksi pembelian yang didapat memiliki tiga atribut yaitu, customer id (sid), waktu transaksi (eid), dan barang yang dibeli (items). Data didapat dalam format Microsoft Excel (transaksi_maret2004.xlsx). Deskripsi sampel data transaksi pembelian Sinar Mart Swalayan dapat dilihat pada Lampiran 3. Sebelum dilakukan proses mining, data harus melewati tahap praproses (preprocessing) terlebih dahulu yang meliputi pembersihan data, seleksi data, dan transformasi data. Tahapan praproses dilakukan agar data benar-benar lengkap, valid, dan sesuai dengan masukan yang dibutuhkan algoritme. Pembersihan Data Pembersihan data dilakukan untuk menghilangkan noise. Sebagai contoh, apabila pembelian barang yang sama pada waktu yang sama tercatat dua kali, maka pembelian barang tersebut dianggap hanya satu kali dan apabila terdapat data yang tidak sesuai dengan data yang ada di Sinar Mart Swalayan maka data tersebut akan dibuang. Pembersihan data pada penelitian ini tidak dilakukan karena data yang didapatkan sudah tidak memiliki noise dan sesuai dengan kebutuhan algoritme. Seleksi Data Proses seleksi data merupakan proses pengambilan data yang relevan dengan proses analisis yang dilakukan. Pada tahap ini, akan dipilih atribut yang sesuai dengan kebutuhan algoritme. Seleksi data pada penelitian ini tidak dilakukan karena atribut yang terdapat pada data transaksi pembelian, yaitu sid, eid, dan items sudah sesuai dengan yang dibutuhkan.
7
Transformasi Data Pada tahap ini dilakukan beberapa proses transformasi data, yaitu : 1. Konversi waktu transaksi (eid) ke dalam bentuk numerik. Waktu transaksi (eid) yang semula berformat date diubah menjadi numerik dengan mengganti format date menjadi number yang terdapat pada Microsoft Excel. 2. Konversi items ke dalam bentuk numerik. Items yang dibeli oleh pembeli diubah ke dalam bentuk numerik dengan memberikan kode yang dimulai dari 1 hingga 35. Mie instan dikodekan dengan 1, minyak goreng dikodekan dengan 2, demikian halnya dengan jenis barang lain. Format items yang dikonversi ke dalam bentuk numerik dapat dilihat pada Lampiran 4. Data hasil konversi terdiri atas 11.866 baris, 308 pembeli yang berbeda dan 35 items yang berbeda. Sampel data transaksi pembelian setelah praproses dapat dilihat pada Lampiran 5. 3. Data yang memiliki format Microsoft Excel (transaksi_maret2004.xlsx) kemudian diubah ke dalam format text (transaksi_maret2004.txt) sebagai masukan bagi algoritme SPADE. Data Mining Tahapan data mining diterapkan dengan menggunakan algoritme SPADE (Zaki 2001). Secara garis besar, proses ini dibagi menjadi 2 bagian besar, yaitu melakukan proses komputasi untuk mendapatkan frequent 1-sequences dengan nilai support lebih besar atau sama dengan minimum support. Frequent 1sequences yang dihasilkan akan bertindak sebagai parent class pada proses pembentukan frequent sequences. Kedua, melakukan proses pembentukan frequent sequences berukuran k yang didapatkan dari kombinasi frequent sequences berukuran k-1 dengan menerapkan fungsi Enumerate Frequent sequences. Proses ini akan berhenti jika tidak memungkinkan lagi untuk melakukan proses pembentukan (k+1)-sequences. Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan yang telah melewati tahap praproses sebanyak 11.866 record. a Pemberian minimum support Sebagai syarat awal berjalannya algoritme, pengguna harus terlebih dahulu memberikan nilai minimum support. Nilai minimum support digunakan untuk menyaring nilai support bagi
masing-masing frequent sequences setelah dilakukan proses komputasi menggunakan algoritme SPADE. Nilai support yang lebih kecil dari nilai minimum support yang diberikan tidak akan diperhitungkan. Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004. Pada awalnya, nilai minimum support yang diberikan pada percobaan ini dimulai dari 10% hingga batas maksimum minimum support yang masih bisa membangkitkan frequent sequences dengan penambahan minimum support sebesar 1%. Namun, proses pembentukan frequent sequences dengan menggunakan nilai minimum support yang dimulai dari 10% hingga minimum support yang lebih kecil dari 45% membutuhkan waktu eksekusi yang sangat lama sehingga pemberian nilai minimum support yang dimulai dari 45% hingga batas maksimum yang masih bisa membangkitkan frequent sequences merupakan pemberian minimum support yang paling ideal untuk penelitian ini. Pembentukan frequent sequences dengan pemberian nilai minimum support mulai dari 10% hingga nilai minimum support yang lebih kecil dari 45% membutuhkan waktu eksekusi yang lama. Hal ini disebabkan oleh keterbatasan spesifikasi perangkat keras yang digunakan dalam penelitian ini. b Penentuan frequent 1-sequences Penentuan frequent 1-sequences merupakan langkah pertama dalam tahapan algoritme SPADE setelah pemberian minimum support. Semua item yang memiliki support lebih besar atau sama dengan nilai minimum support yang diberikan merupakan frequent items yang disebut juga frequent 1-sequences. Perhitungan support dari item didasarkan pada jumlah sid yang berbeda yang terdapat pada pasangan (sid, eid) atau yang disebut juga sebagai id-list dari item tersebut. Untuk tahap selanjutnya, semua item yang merupakan frequent 1-sequences akan menjadi parent class dalam pembentukan frequent k-sequences. Dalam proses pembentukan frequent ksequences, semua frequent sequences yang terbentuk disebut juga sebagai frequent atoms. Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004 dengan memberikan nilai minimum support mulai dari 45% hingga batas maksimum yang masih bisa membangkitkan frequent sequences yaitu 89%. Semua frequent 1-sequences yang terbentuk untuk masing-
8
c Pembentukan frequent sequences Pada tahap ini, metode sequential pattern mining diterapkan untuk membangkitkan semua kemungkinan frequent sequence dengan menggunakan fungsi Enumerate-FrequentSequences yang terdapat pada algoritme SPADE. Sebuah sequence berukuran k merupakan kombinasi dari sequences berukuran k-1 Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004. Percobaan dilakukan dengan memberikan nilai minimum support mulai dari 45% atau sekitar 138 transaksi yang dilakukan pembeli yang berbeda hingga batas maksimum yang masih bisa membentuk frequent sequences dengan penambahan nilai minimum support sebesar 1%. Dari data hasil percobaan diperoleh bahwa jumlah frequent sequences yang terbentuk bervariasi. Data percobaan dengan nilai minimum support 45% menghasilkan frequent sequences sebanyak 1.902 frequent sequences. Nilai minimum support tertinggi hingga masih terbentuk frequent sequences adalah 89% dengan jumlah frequent sequnces sebanyak satu. Hasil lengkap pembentukan frequent sequences yang terbentuk dari data transaksi pembelian Sinar Mart Swalayan periode Maret 2004 dapat dilihat pada Lampiran 6. Pada beberapa minimum support yang digunakan pada saat percobaan, ternyata frequent sequence tidak terbentuk. Hal ini disebabkan karena tidak adanya frequent 1sequences yang terbentuk. Tidak terbentuknya frequent 1-sequences disebabkan oleh tidak ada satu pun item atau barang yang memiliki support yang lebih besar atau sama dengan minimum support yang diberikan. Berdasarkan data hasil percobaan pada Lampiran 6, dapat dilihat bahwa semakin besar nilai minimum support yang diberikan maka akan semakin sedikit jumlah frequent sequences yang terbentuk. Waktu eksekusi yang diperlukan untuk membentuk frequent sequence sangat dipengaruhi minimum support yang digunakan. Perbandingan waktu eksekusi yang diperlukan untuk membentuk frequent sequences dari seluruh percobaan yang telah dilakukan dapat dilihat pada Gambar 4.
Waktu Eksekusi (milidetik)
masing nilai minimum support tidak langsung ditampilkan karena masih digunakan pada proses pembentukan frequent k-sequences untuk mendapatkan semua frequent sequences.
9000 8000 7000 6000 5000 4000 3000 2000 1000 0 45 50 55 60 65 70 75 80 85 89 Minimum Support (%) Gambar 4 Grafik waktu eksekusi.
Berdasarkan Gambar 4, semakin tinggi nilai minimum support yang diberikan maka semakin cepat waktu yang diperlukan untuk membentuk frequent sequences. Hal ini disebabkan semakin besar nilai minimum support maka akan semakin sedikit sequences yang membentuk frequent sequences sehingga waktu komputasinya akan semakin cepat. Evaluasi Pola Seluruh frequent sequences yang dihasilkan pada tahap data mining kemudian dievaluasi untuk mendapatkan pola sekuensial. Evaluasi dilakukan dengan mencari maximal frequent sequences dari seluruh frequent sequences yang ada. Suatu pola sekuensial dikatakan maksimal apabila pola sekuensial tersebut tidak termuat pada pola sekuensial lainnya. Dari seluruh pola sekuensial yang terbentuk diambil pola sekuensial dengan jumlah ksequences maksimal pada nilai minimum support tertinggi yang dilakukan selama tahap percobaan. Suatu pola sekuensial dikatakan sering terjadi apabila pola sekuensial tersebut memiliki nilai support yang tinggi. Daftar pola sekuensial yang sering terjadi dari seluruh percobaan yang yang telah dilakukan pada data transaksi pembelian Sinar Mart Swalayan periode Maret 2004 dapat dilihat pada Tabel 2. Dari evaluasi pola yang terdapat pada Tabel 2, diperoleh informasi sebagai berikut: Nilai minimum support tertinggi yang masih bisa membentuk maximal frequent sequences adalah 89% dengan panjang sequences adalah 1-sequence. Item yang paling sering dibeli oleh pembeli Sinar Mart Swalayan adalah snack (8) dengan support sebesar 89%.
9
Tabel 2 Daftar pola sekuensial yang sering terjadi Minimum Support (%) 45-47 48-54 55-59 60-62 63-65 66-73 74-89
Panjang Sequence maksimal 7-sequence 6-sequence 5-sequence 4-sequence 3-sequence 2-sequence 1-sequence
Representasi Pengetahuan Representasi pengetahuan dari pola sekuensial yang dihasilkan diperlukan agar pola yang ada mudah dimengerti dan diinterpretasikan. Berdasarkan hasil presentasi diharapkan dapat diperoleh pengetahuan yang berharga dari koleksi data yang telah dilakukan proses mining. Tahap representasi pengetahuan dilakukan dengan membentuk rule menggunakan algoritme Rule Generation. Percobaan dilakukan terhadap data transaksi pembelian Sinar Mart Swalayan periode Maret 2004. Percobaan dilakukan dengan mencari kemungkinan minimum confidence maksimal untuk setiap minimum support dimulai dari 45% hingga batas maksimal minimum confidence yang masih bisa membangkitkan rule. Dari data hasil percobaan diperoleh bahwa banyaknya rule yang terbentuk dari berbagai kombinasi nilai minimum support dengan nilai minimum confidence bervariasi. Hasil pembentukan rule dapat dilihat pada Tabel 3.
Contoh Sequence <8><8><8><8><8><7><8> <8><8><8><8><8><8> <8><8><8><8><8> <8><8><7><8> <8><3><8> <3,8> <8> Berdasarkan hasil penelitian, terdapat beberapa saran bagi pengelola Sinar Mart Swalayan, yaitu : Menempatkan susu dan snack secara berdekatan pada rak yang sama sehingga pembeli dapat dengan mudah menjangkau kedua produk tersebut. Memperbanyak variasi susu dan snack sehingga dapat menarik perhatian pembeli. Sebagai upaya untuk meningkatkan penjualan barang yang kurang laku, pihak pengelola Sinar Mart Swalayan juga dapat menerapkan modus setiap pembelian beberapa barang yang kurang laku, pembeli akan mendapatkan bonus snack atau susu. Hal ini akan sangat menarik minat pembeli karena disamping mendapatkan suatu barang, keinginan mereka untuk menikmati snack dan susu juga terpuaskan tanpa harus membeli.
Data hasil percobaan yang terdapat pada Tabel 3 menunjukkan bahwa: Nilai minimum confidence tertinggi yang masih bisa membentuk rule adalah 96% dengan nilai maksimal minimum support nya sebesar 56%. Nilai minimum support tertinggi yang masih bisa membentuk rule adalah 73% dengan nilai maksimal minimum confidence sebesar 89% dan jumlah rule yang terbentuk sebanyak satu buah yaitu (susu) ==> (susu, snack). Rule (susu) ==> (susu, snack) yang memiliki confidence sebesar 89% mengandung arti bahwa apabila pembeli Sinar Mart Swalayan membeli susu maka peluang snack juga dibeli oleh pembeli tersebut adalah sebesar 89%.
10
Tabel 3 Hasil pembentukan rule Minimum Support (%) 45-49 50-51
Confidence Tertinggi (%) 96 95
Jumlah rule yang terbentuk 1 2
52-56 57-62
96 95
1 3
63 64-65
94 93
1 3
66-73
89
1
Untuk melakukan proses pembentukan frequent sequences dan juga pembentukan rule, telah dibangun sebuah aplikasi sederhana dengan menggunakan C++ dan C# sebagai bahasa pemrograman dan Visual Studio 2010 sebagai IDE pembangunan aplikasi. Salah antarmuka grafis dari aplikasi tersebut dapat dilihat pada Gambar 5.
Contoh rule <8><8><7><1> ==> <8><8><7><8><1> <7,8><7><8> ==> <7,8><8><7><8> <6><7><7> ==> <6><8><7><7> <8><7><8><8> ==> <8><8><7><8><8> <8><8><8> ==> <8><8><8><8> <8><7><8> ==> <8><8><7><8> <8><8><7> ==> <8><8><7><8> <3><7> ==> <3><7><8> <8><3> ==> <8><3><8> <7><8> ==> <8><7><8> <3><8> ==> <8><3><8> <3> ==> <3,8>
frequent sequence terjadi pada nilai minimum support 89% dengan frequent sequence yang terbentuk sebanyak satu buah yang sekaligus merupakan maximal frequent sequences. Maximal frequent sequences yang terbentuk ketika minimum support yang diberikan sebesar 89% adalah sequence yang panjang sequence nya 1 (frequent 1-sequences) yaitu (<8>) atau (<snack>). Frequent sequences yang hanya memiliki satu item menandakan bahwa item tersebut merupakan item yang paling sering dibeli oleh pembeli. Dari hasil percobaan juga diperoleh bahwa nilai minimum confidence tertinggi hingga masih bisa membentuk rule adalah 96% dengan nilai maksimal minimum support sebesar 56%. Nilai minimum support tertinggi yang masih bisa membentuk rule adalah 73% dengan nilai maksimal minimum confidence sebesar 89% dengan jumlah rule yang terbentuk sebanyak satu buah yaitu (susu) ==> (susu, snack). Hal ini menunjukkan bahwa susu dan snack merupakan barang yang paling sering dibeli oleh pembeli Sinar Mart Swalayan.
Gambar 7 Antarmuka grafis aplikasi utama. KESIMPULAN DAN SARAN Kesimpulan Dari hasil percobaan dengan penerapan algoritme SPADE yang dilakukan terhadap data transaksi pembelian di Sinar Mart Swalayan diperoleh kesimpulan bahwa nilai minimum support tertinggi hingga masih terbentuk
Untuk meningkatkan penjualan, pihak pengelola Sinar Mart Swalayan sebaiknya menempatkan susu dan snack berdekatan sehingga pembeli dapat dengan mudah menjangkau kedua barang tersebut. Selain itu, pihak pengelola Sinar Mart Swalayan juga dapat meningkatkan penjualan dengan cara memperbanyak variasi susu dan snack. Sebagai upaya untuk meningkatkan penjualan barang yang kurang laku, pihak pengelola Sinar Mart Swalayan juga dapat menerapkan modus setiap pembelian beberapa barang yang kurang laku tersebut, pembeli akan mendapatkan bonus snack atau susu. Hal ini akan sangat menarik minat pembeli karena disamping mendapatkan
11