Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 ISSN: 2089-9815 PENGEMBANGAN APLIKASI PENENTUAN TINGKAT KEUNTUNGAN PADA ECOMMERCE DENGAN MENGGUNAKAN ALGORITMA K-MEANS DAN APRIORI Gunawan1, Fandi Halim2, Tony Saputra Debataraja3, Julianus Efrata Peranginangin4 1,2 Program Studi S-1 Sistem Informasi, STMIK Mikroskil, Medan 3,4 Program Studi S-1 Teknik Informatika, STMIK Mikroskil, Medan Jl. Thamrin No. 140, Medan, 20212 E-mail: [email protected], [email protected] ABSTRAKS Pada persaingan e-commerce saat ini, mengetahui item yang paling banyak dibeli konsumen adalah strategi yang tepat untuk meningkatkan keuntungan, namun akan sangat sulit bila dilakukan secara manual. Untuk itu diperlukan metode pencarian data item yang paling banyak dibeli konsumen. Clustering dan asosiasi merupakan tipe analisis data yang paling sering digunakan dalam dunia pemasaran. Teknik clustering digunakan untuk mengelompokkan sejumlah data atau objek sehingga setiap cluster akan berisi data yang semirip mungkin dan berbeda dengan objek dalam cluster lainnya, sedangkan asosiasi adalah teknik data mining yang menggunakan kriteria support dan confidence untuk mengidentifikasi kombinasi antar item. Hasil dari kedua analisis ini dapat digunakan sebagai strategi untuk menjalankan bisnis, seperti untuk mengetahui item yang paling sering dibeli konsumen. Jenis dari clustering dan asosiasi adalah k-means dan apriori. Tujuan dari penelitian ini untuk mengetahui item-item yang sering dibeli konsumen dan juga melihat waktu yang lebih cepat dalam melakukan analisis transaksi penjualan. Kata Kunci: apriori, asosiasi, clustering, k-means aturan asosiasi di dalam aplikasi data mining dengan teknik aturan asosiasi. Dengan menggunakan metode k-means, data item yang telah dikelompokkan akan ditentukan pusat setiap kelompok dan dihitung menggunakan rumus k-means sehingga menghasilkan kesimpulan item yang yang paling banyak dibeli oleh konsumen, sedangkan pada apriori, data item yang telah dikelompokkan akan diseleksi sampai mendapatkan item dengan nilai support dan confidence yang telah ditetapkan, sehingga menghasilkan kesimpulan item yang paling banyak dibeli oleh konsumen. Dengan menggunakan kedua metode ini, pihak pengelola ecommerce dapat mengetahui barang yang paling banyak dibeli oleh konsumen, sehingga pihak pengelola e-commerce dapat menambah persediaan barang tersebut untuk menambah keuntungan mereka. Sesuai dengan uraian sebelumnya, maka yang menjadi masalah dalam penelitian ini adalah item yang paling banyak dibeli oleh konsumen sulit ditentukan bila dilakukan pencatatan data secara manual dan pengamatan secara langsung, sehingga diperlukan metode untuk menentukan item yang paling banyak dibeli oleh konsumen untuk meningkatkan daya saing e-commerce tersebut dan menambah keuntungan e-commerce. Tujuan dari penelitian ini adalah untuk memberikan rekomendasi barang yang paling banyak dibeli oleh konsumen kepada pihak pengelola e-commerce dengan menggunakan metode k-means dan apriori. Langkah-langkah yang ditempuh dalam penelitian ini adalah: 1. PENDAHULUAN 1.1 Latar Belakang Strategi yang tepat tentunya mutlak diperlukan dalam persaingan bisnis e-commerce saat ini. Pengelola e-commerce tentunya telah mempunyai cara untuk meningkatkan keuntungan dan menjaga hubungan baik dengan konsumen mereka untuk dapat bersaing dalam persaingan bisnis e-commerce. Salah satu cara adalah mengetahui item (barang) yang paling sering dibeli oleh konsumen yang dapat menambah keuntungan e-commerce dan dapat menjaga hubungan baik dengan pelanggan mereka. Untuk mengetahui item apa saja yang paling sering dibeli oleh konsumen tentunya akan sulit diketahui bila dilakukan dengan pengamatan dan pencatatan secara manual. Oleh karena itu diperlukan suatu metode yang dapat membantu pihak pengelola ecommerce dalam menentukan item yang paling sering dibeli oleh konsumen. Metode yang dapat dipakai untuk menentukan item yang paling sering dibeli oleh konsumen adalah k-means dan apriori. K-means merupakan metode clustering dalam data mining, sedangkan apriori merupakan metode dengan aturan asosiasi dalam data mining. K-means adalah sebuah algoritma untuk mengklasifikasikan atau mengelompokkan objek-objek (dalam hal ini data) berdasarkan parameter tertentu ke dalam sejumlah grup, sehingga dapat berjalan lebih cepat daripada hierarchical clustering (jika k kecil) dengan jumlah variabel yang besar dan menghasilkan cluster yang lebih rapat (Kardi dan Barakbah, 2007). Apriori merupakan algoritma yang sering digunakan untuk menemukan 328 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 a. Tinjauan Pustaka: mengumpulkan buku, artikel, jurnal, dan makalah yang berhubungan dengan data mining serta menyaring referensi-referensi tersebut sehingga diperoleh data yang relevan. b. Analisis dan Perancangan: mempelajari dan menganalisis cara kerja algoritma k-means dan apriori, serta membuat rancangan aplikasi dengan metode yang dipilih. c. Pemrograman (Coding): melakukan pemrograman dengan menggunakan bahasa pemrograman Microsoft Visual Basic 2008. d. Pengujian: mengeksekusi program dengan tujuan menemukan kesalahan serta menguji sistem hasil implementasi algoritma. ISSN: 2089-9815 kemudian dibuat decision tree untuk menentukan suatu objek termasuk jenis buah apa jika nilai tiap-tiap atribut diberikan. c. Clustering Clustering termasuk metode yang sudah cukup dikenal dan banyak dipakai dalam data mining. Sampai sekarang para ilmuwan dalam bidang data mining masih melakukan berbagai usaha untuk melakukan perbaikan model clustering karena metode yang dikembangkan sekarang masih bersifat heuristik. Usaha-usaha untuk menghitung jumlah cluster yang optimal dan pengklasteran yang paling baik masih terus dilakukan. Dengan demikian menggunakan metode yang sekarang tidak bisa menjamin hasil pengklasteran sudah merupakan hasil yang optimal. 1.2 Data Mining Data mining adalah serangkaian proses untuk menggali nilai tambah dari suatu kumpulan data berupa pengetahuaan yang selama ini tidak diketahui secara manual. Data mining digunakan untuk mengekstraksi dan mengidentifikasi informasi pengetahuan potensial dan berguna yang bermanfaat yang tersimpan di dalam database besar (Turban, 2005). Menurut Gartner Group, data mining adalah suatu proses menemukan hubungan yang berarti, pola, dan kecenderungan dengan memeriksa dalam sekumpulan besar data yang tersimpan dalam penyimpanan dengan menggunakan teknik pengenalan pola seperti teknik statistik dan matematika (Larose, 2005). Dengan definisi data mining yang luas, terdapat banyak jenis metode analisis yang dapat digolongkan dalam data mining, yaitu (Santosa, 2007): a. Association rules Association rules mining (aturan mining asosiasi) berfungsi untuk menemukan asosiasi antar variabel, korelasi atau suatu struktur di antara item atau objek-objek di dalam database transaksi, database relasional, maupun pada penyimpanan informasi lainnya. Aturan asosiasi ingin memberikan informasi tersebut dalam bentuk hubungan “if-then” atau “jika-maka”. Aturan ini dihitung dari data yang sifatnya probabilistik. b. Decision Tree Dalam decision tree tidak menggunakan vektor jarak untuk mengklasifikasikan objek. Seringkali data observasi mempunyai atributatribut yang bernilai nominal. Decision tree dapat diilustrasikan misalkan objeknya adalah sekumpulan buah-buahan yang bisa dibedakan berdasarkan atribut bentuk, warna, ukuran, dan rasa. Bentuk, warna, ukuran, dan rasa adalah besaran nominal, yaitu bersifat kategoris dan tiap nilai tidak bisa dijumlahkan atau dikurangkan. Dalam atribut warna terdapat beberapa nilai yang mungkin, yaitu hijau, kuning, dan merah. Dalam atribut ukuran terdapat nilai besar, sedang, dan kecil. Dengan nilai-nilai atribut ini, 1.3 Algoritma K-Means Algoritma k-means merupakan algoritma yang relatif sederhana untuk mengklasifikasikan atau mengelompokkan sejumlah besar objek dengan atribut tertentu ke dalam kelompok-kelompok (cluster) sebanyak K. Pada algoritma k-means, jumlah cluster K sudah ditentukan terlebih dahulu. K-means adalah algoritma clustering untuk data mining yang diciptakan tahun 70-an dan berguna untuk melakukan clustering secara unsupervised learning (pembelajaran yang tidak terawasi) dalam suatu kumpulan data berdasarkan parameter tertentu. K-means adalah sebuah algoritma untuk mengklasifikasikan atau mengelompokkan objekobjek (dalam hal ini data) berdasarkan parameter tertentu ke dalam sejumlah grup, sehingga dapat berjalan lebih cepat daripada hierarchical clustering (jika kecil) dengan jumlah variabel yang besar dan menghasilkan cluster yang lebih rapat (Kardi dan Barakbah, 2007). K-means memiliki properti: selalu ada K cluster, paling tidak memiliki satu data dalam tiap cluster, cluster ini merupakan non-hierarki dan tidak akan terjadi overlap, dan setiap member dari sebuah cluster berdekatan di-cluster terhadap cluster lainnya karena kedekatan tidak selalu melibatkan pusat dari cluster itu. Kelebihan k-means adalah (Kardi dan Barakbah, 2007): a. Dengan jumlah variabel yang besar, k-means dapat berjalan lebih cepat daripada hierchical clustering (jika K kecil). b. K-means memungkinkan hasil yang lebih rapat daripada hierarchical clustering, terutama jika cluster berbentuk bola/lingkaran. Selain memiliki kelebihan, k-means juga memiliki kekurangan. Kekurangan dari algoritma kmeans ini adalah (Kardi dan Barakbah, 2007): a. Kesulitan dalam membandingkan kualitas dari hasil cluster (seperti untuk perbedaan pembagian awal atau nilai dari K yang mempengaruhi hasil). b. Jumlah cluster yang tepat dapat membuat kesulitan dalam memprediksi berapakah K 329 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 seharusnya. c. Tidak akan bekerja dengan baik dengan cluster yang tidak berbentuk bulat. d. Pembagian awal yang berbeda dapat menghasilkan akhir cluster yang berbeda. Hal ini membantu untuk menjalankan kembali program menggunakan nilai K yang berbeda, untuk perbandingan hasil akhir yang diperoleh. Berikut adalah langkah-langkah dalam memproses algoritma k-means (Larose, 2005): a. Langkah Pertama: Buatlah dalam tabel item yang telah dikelompokkan. b. Langkah Kedua: Secara sembarang, pilihlah k buah pusat kelompok sebagai pusat-pusat kelompok awal. c. Langkah Ketiga: Untuk setiap item yang telah dikelompokkan, tentukan pusat kelompok terdekatnya dan tetapkan catatan tersebut sebagai anggota dari kelompok yang terdekat pusat kelompoknya. Hitung rasio antara besaran Between Cluster Variation dengan Within Cluster Variation, lalu bandingkan rasio tersebut dengan rasio sebelumnya (bila sudah ada). Jika rasio tersebut membesar, maka lanjutkan ke langkah keempat. Jika tidak, maka hentikan prosesnya. d. Langkah Keempat: Perbarui pusat-pusat kelompok (berdasarkan kelompok yang didapat dari langkah ketiga) dan kembalilah ke langkah ketiga. ISSN: 2089-9815 menemukan frequent-itemset yang merupakan iterasi pada data. Pada iterasi ke-k ditemukan semua himpunan item-item yang mempunyai k item yang disebut k-itemset. Setiap iterasi terdiri dari dua tahap. Pertama, adalah tahap pembangkitan kandidat (candidate generation) dimana himpunan semua frequent(k–1)-itemset Fk-1 yang ditemukan pada pass ke-(k–1) digunakan untuk membangkitkan kandidat itemset Ck. Prosedur pembangkitan kandidat menjamin bahwa Ck adalah superset dari himpunan semua frequent k-itemset. Kemudian data di-scan dalam tahap Penghitungan Support (Support Counting). Pada akhir pass Ck diperiksa untuk menentukan kandidat mana yang sering muncul, menghasilkan Fk. Penghitungan support berakhir ketika Fk atau Ck+1 kosong. Untuk membangkitkan rule akan dibangkitkan lebih dahulu candidate rule. Candidate rule berisi semua kemungkinan rule yang memiliki support > minimum support, karena input candidate rule adalah frequent-itemset. Kemudian candidate rule akan di-join dengan tabel F untuk menemukan support antecedent. Confidence rule dihitung dengan cara membandingkan support rule dengan support antecedent rule. Hanya rule yang mempunyai confidence > minimum confidence yang disimpan dalam tabel rule (tabel R). 2. PEMBAHASAN 2.1 Analisis Pada tahapan analisis dilakukan analisis pada aplikasi yang akan dikembangkan, yaitu analisis proses dan analisis kebutuhan. Analisis proses menjelaskan cara kerja dari metode/algoritma yang akan digunakan dalam bentuk flowchart seperti Gambar 1 dan 2 berikut ini. 1.4 Algoritma Apriori Algoritma apriori adalah suatu algoritma yang sudah sangat dikenal dalam melakukan pencarian frequent itemset dengan menggunakan teknik aturan asosiasi. Algoritma ini pertama kali diajukan oleh R. Agrawal dan R. Srikant pada tahun 1994. Algoritma apriori menggunakan knowledge untuk menentukan frequent itemset, setelah itu memproses hasil tersebut menjadi informasi yang digunakan untuk menghasilkan kandidat-kandidat yang mungkin berhubungan. Terdapat 2 proses utama yang dilakukan dalam algoritma apriori, yaitu (Han dan Kamber, 2001): a. Join (penggabungan): Pada proses ini, setiap item dikombinasikan dengan item yang lainnya sampai tidak terbentuk kombinasi lagi. b. Prune (pemangkasan): Pada proses ini, hasil dari item yang telah dikombinasikan tadi lalu dipangkas dengan menggunakan minimum support yang telah ditentukan oleh user. Algoritma apriori melakukan pendekatan iteratif yang dikenal dengan pencarian level-wise, dimana kitemset digunakan untuk mengeksplorasi atau menemukan (k+1)-itemset. Oleh karena itu, algoritma apriori dibagi menjadi beberapa tahap yang disebut iterasi. Tiap iterasi menghasilkan pola frekuensi tinggi (frequent itemset). Sifat apriori adalah setiap subset frequent-itemset harus menjadi frequent-itemset. Algoritma apriori untuk Gambar 1. Flowchart Algoritma K-Means 330 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 ISSN: 2089-9815 berfungsi untuk menampilkan informasi tentang pembuat aplikasi. Tombol tutup berfungsi untuk menutup form secara keseluruhan. Gambar 4. Tampilan Form Utama Pada form update database, user dapat menambahkan data kode barang, nama barang, dan harga barang. Sebelum user memproses data, maka terlebih dahulu user harus meng-update data pada form update database, dengan tampilan seperti terlihat pada Gambar 5. Gambar 2. Flowchart Algoritma Apriori Analisis kebutuhan mendeskripsikan fitur-fitur yang harus dipenuhi oleh aplikasi dalam bentuk use case diagram seperti Gambar 3 berikut ini. Gambar 5. Tampilan Form Update Database Pada form proses, user dapat memulai proses perhitungan memakai algoritma k-means dan apriori. Melalui form proses, sistem akan secara otomatis memproses data dari database memakai algoritma k-means dan apriori dan menampilkan hasil dari perhitungan tersebut, dengan tampilan seperti terlihat pada Gambar 6. Gambar 3. Use Case Diagram 2.2 Hasil Rancangan Bagian ini menunjukkan tampilan antarmuka pada aplikasi yang dikembangkan. Pada form utama yang ditunjukkan pada Gambar 4 terdapat 4 tombol, yaitu Proses, Update Database, Info, dan Tutup. Tombol proses berfungsi untuk menampilkan proses perhitungan memakai algoritma k-means dan apriori. Tombol update database berfungsi untuk menampilkan proses mengubah, meng-update, dan menghapus data pada database. Tombol info Gambar 6. Tampilan Form Proses 331 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 Kemudian dilakukan pengujian hasil confidence, dimana hasilnya ditunjukkan pada Tabel 4 berikut ini. 2.3 Pengujian Pengujian terhadap aplikasi dilakukan dengan membandingkan algoritma k-means dan apriori dalam menentukan barang yang dibeli oleh konsumen, dimana parameternya dilihat dari kecepatan memproses data. Tabel 1 dan 2 merupakan data barang dan transaksi yang digunakan untuk melakukan pengujian aplikasi. Tabel 4. Pengujian Hasil Confidence X N1, N2 N1, N4 N2, N4 Tabel 1. Daftar Barang Untuk Pengujian Kode Barang N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 Nama Barang Kalung Gelang Topi T-shirt Kebaya Kemeja Celana Pendek Celana Panjang Jaket Jeans Harga 30 20 15 80 180 150 120 140 170 160 Tabel 5. Hasil Pengujian K-Means Iterasi 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 Item N1, N2 N2, N4 N5 N7, N8, N3, N4 N9, N10, N1 N3, N4, N9 N8, N4, N2 N10, N5, N6, N1, N2 N6, N5, N1 N7, N6, N3 Tabel 3. Hasil Pengujian Apriori Item Set N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N1, N2 N1, N4 N2, N4 N1, N2, N4 Jumlah 4 4 3 4 3 3 2 2 2 2 2 0 2 0 Support 0.400 0.400 0.300 0.400 0.300 0.300 0.200 0.200 0.200 0.200 0.200 0.000 0.200 0.000 Confidence 0 0 0 Selanjutnya akan dilakukan pengujian dengan mengunakan algoritma k-means dengan hasilnya ditunjukkan pada Tabel 5 berikut ini. Langkah berikutnya akan dilakukan pengujian terhadap transaksi di Tabel 2 dengan menggunakan algoritma apriori. Hasilnya ditunjukkan pada Tabel 3 berikut ini. Iterasi 1 1 1 1 1 1 1 1 1 1 2 2 2 3 Y N4 N2 N1 Waktu yang dibutuhkan apriori dalam memproses data tersebut adalah 160 millisecond. Tabel 2. Data Transaksi Untuk Pengujian Kode T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 ISSN: 2089-9815 Cluster 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 Anggota T1, T2 T3 T6, T7, T10 T4, T5, T9 T8 T1, T2 T3 T6, T7, T10 T4, T5, T9 T8 T1, T2 T3 T6, T7, T10 T4, T5, T9 T8 T1, T2 T3 T6, T7, T10 T4, T5, T9 T8 Pusat 2 50 1 180 3 265 3 355 1 540 2 75 1 180 3 263.3 3.3 358.3 5 540 2 75 1 180 3 263.3 3.3 358.3 5 540 2 75 1 180 3 263.3 3.3 358.3 5 540 Kemudian dilakukan pengujian BCV/WCV, dimana hasilnya ditunjukkan pada Tabel 6 berikut ini. Kandidat Ya Ya Tidak Ya Tidak Tidak Tidak Tidak Tidak Tidak Ya Tidak Ya Ya Tabel 6. Hasil Pengujian BCV/WCV Iterasi 2 3 4 BCV/WCV 21.001 21.425 21.425 Transaksi Terdekat T3, T8 Waktu yang dibutuhkan k-means dalam memproses data tersebut adalah 115 millisecond. Dari pengujian di atas diketahui bahwa algoritma k-means lebih cepat dibandingkan algoritma apriori dalam menentukan barang yang sering dibeli oleh konsumen. 332 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 3. KESIMPULAN Dari penelitian yang dilakukan, dapat disimpulkan bahwa algoritma k-means lebih cepat dalam menentukan barang yang sering dibeli oleh konsumen dibandingkan dengan algoritma apriori. Dari algoritma k-means dan apriori, user (pengelola e-commerce) bisa melihat item yang sama pada kedua algoritma, kemudian menambah item tersebut. Untuk penelitian selanjutnya, di dalam menentukan item yang paling banyak dibeli oleh pelanggan, diperlukan keterangan dari item tersebut untuk memudahkan pengelola e-commerce dalam mengindentifikasi item tersebut. Diperlukan perbaikan di kesimpulan item yang paling banyak dibeli yang di-input secara otomatis. PUSTAKA Han, J. and Kamber, M., 2001. Data Mining, Concepts and Technique. San Francisco: Morgan Kaufmann Punlishers. Kardi, A. and Barakbah, A. R., 2007. Hierarchical K-means: An Algorithm for Centroids Initialization for K-means. Journal of The Faculty of Science and Engineering, Vol. 36, No. 1 (pp. 25-31). Japan: Saga University. Larose, D. T., 2005. Discovering Knowledge in Data, An Introduction to Data Mining. John Willey & Son, Inc. Santosa, B., 2007. Data Mining, Teknik Pemanfaatan Data untuk Keperluan Bisnis. Yogyakarta: Graha Ilmu. Turban, E., 2005. Decision Support System and Intelligent Systems. Yogyakarta: Andi Offset. 333 ISSN: 2089-9815