1. pendahuluan - institutional...

Download 1. Pendahuluan - Institutional Repositoryrepository.uksw.edu/bitstream/123456789/2385/2/T1_672006233_Full... · algoritma Apriori, ... Penting tidaknya suatu aturan asosiatif dapat

If you can't read please download the document

Upload: lethuy

Post on 06-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 2

    1. Pendahuluan

    Persaingan di dunia bisnis yang semakin ketat membuat para pelaku bisnis harus berpikir lebih keras dalam menyusun strategi untuk menghadapi persaingan tersebut. Salah satu strategi yang dapat digunakan adalah dengan memanfaatkan teknologi informasi. Teknologi informasi diyakini dapat membantu perusahaan dalam menjalankan kegiatan bisnisnya.

    Perusahaan dapat memanfaatkan data yang dihasilkan oleh sistem informasi yang digunakan untuk membantu dalam pengambilan keputusan. Jika diolah dengan benar, data-data tersebut dapat menghasilkan informasi berharga yang sangat berguna bagi perusahaan. Data mining merupakan salah satu cara yang dapat digunakan untuk mengolah data menjadi informasi berharga.

    Data mining menyediakan beberapa metode dalam menghasilkan informasi penting dari tumpukan data. Data-data yang dihasilkan dari proses penjualan yaitu data transaksi dapat diolah menggunakan Association Rule untuk mengetahui informasi keterkaitan pembelian produk yang dilakukan oleh pembeli. Perusahaan dapat memanfaatkan informasi ini untuk melakukan strategi pemasaran, misalnya untuk pembuatan paket pembelian dan penempatan produk di dalam toko.

    Pada penelitian ini akan dibuat aplikasi untuk melakukan Market Basket Analysis, yaitu mencari keterkaitan pembelian antar produk di toko oleh-oleh Wisata Rasa menggunakan Association Rule. Toko Wisata Rasa merupakan toko yang menjual berbagai macam oleh-oleh khas Surabaya. Toko ini berada di kota Surabaya dan memiliki omset yang besar. Meskipun toko oleh-oleh Wisata Rasa saat ini telah menggunakan sistem terkomputerisasi dalam setiap transaksi penjualanya, namun sistem tersebut hanya dapat digunakan untuk mencatat transaksi penjualan biasa, oleh karena itu pemilik toko oleh-oleh Wisata Rasa menginginkan sebuah sistem baru yang dapat digunakan untuk melakukan Market basket Analysis, sehingga pihak toko dapat mengetahui keterkaitan pembelian barang produk yang dilakukan oleh pembeli, dengan diketahuinya keterkaitan pembelian produk oleh pembeli, pihak toko dapat menyusun strategi pemasaran yaitu antara lain melalui penempatan produk di dalam toko, menyediakan stok barang yang lebih banyak untuk produk yang saling berkaitan dan untuk menyusun paket oleh-oleh bagi para pembeli.

    2. Kajian Pustaka

    Penelitian Terdahulu Penelitian tentang Market Basket Analysis sudah pernah dikerjakan

    sebelumnya, yaitu penelitian dengan judul Sistem Data Mining dengan Association Rule untuk Menentukan Keterkaitan Antar Produk (Studi Kasus: Swalayan Ada Baru Salatiga). Pada penelitian ini, penentuan keterkaitan antar poduk dicari dengan algoritma Apriori, yaitu dicari kombinasi item yang memenuhi minimum support dalam database dan dilakukan pembentukan Association Rule yang memenuhi minimum confidence [1].

    Penelitian lain yang membahas tentang Market Basket Analysis adalah penelitian dengan judul Market Basket Analysis Menggunakan Metode Fuzzy C-Covering untuk Menentukan Pola Pembelian Pelanggan pada Toko Buku (Studi

  • 3

    Kasus: Toko Buku Andi Star Salatiga). Penelitian ini membahas tentang pencarian keterkaitan antar produk yaitu buku yang dibeli oleh pembeli dengan memanfaatkan metode Fuzzy C-Covering. Hasil yang didapat adalah terdapat keterkaitan produk yang dihasilkan oleh sistem yang dibuat. Semakin tinggi nilai confidence, maka semakin kuat keterkaitan antar item yang terjadi [2].

    Pada penelitian ini dibuat sebuah sistem yang dapat menentukan keterkaitan antar produk oleh-oleh yang dibeli oleh pembeli pada toko oleh-oleh Wisata Rasa menggunakan Association Rule yaitu algoritma Apriori. Sistem ini juga dilengkapi dengan fasilitas yang mendukung untuk proses transaksi pada toko, serta dapat menampilkan hasil transaksi toko pada periode waktu yang dipilih oleh pengguna sistem.

    Data Mining

    Data Mining seringkali diartikan dengan menulis banyak laporan dan query. Namun pada kenyataannya kegiatan data mining tidak melakukan pembuatan laporan dan query sama sekali. Data mining dilakukan dengan tool khusus, yang mengeksekusi operasi data yang telah didefinisikan berdasarkan model analisis. Data mining adalah ekstraksi informasi atau pola yang penting atau menarik dari data yang berada pada basis data yang besar yang selama ini tidak diketahui tetapi mempunyai potensi informasi yang bermanfaat [3].

    Konsep data mining muncul dikarenakan timbulnya data explosion akibat dari penumpukan data oleh sistem pengolahan basis data terpadu di suatu organisasi. Proses data mining menggunakan berbagai perangkat analisis data untuk menemukan pola dan hubungan dalam data yang mungkin dapat digunakan untuk membuat prediksi yang valid.

    Data mining menganalisis data untuk menemukan informasi yang tersembunyi pada sejumlah besar data yang disimpan. Data mining merupakan proses yang berbeda dengan analisis statistik biasa.

    Fungsi-fungsi yang umum diterapkan dalam data mining adalah: [4]. - Assosiation, adalah proses untuk menemukan aturan asosiatif antara suatu

    kombinasi item dalam suatu waktu - Sequence, proses untuk menemukan aturan asosiatif antara suatu kombinasi item

    dalam suatu waktu dan diterapkan lebih dari satu periode - Clustering, adalah proses pengelompokan sejumlah data/obyek, ke dalam

    kelompok data sehingga setiap kelompok berisi data yang mirip - Classification, proses penemuan model atau fungsi yang menjelaskan atau

    membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui.

    - Regretion, adalah proses pemetaan data dalam suatu nilai prediksi - Forecasting, adalah proses pengestimasian nilai prediksi berdasarkan pola-pola

    di dalam sekumpulan data. - Solution, adalah proses penemuan akar masalah dan problem solving dari

    persoalan bisnis yang dihadapi atau paling tidak sebagai informasi dalam pengambilan keputusan.

  • 4

    Market Basket Analysis

    Market Basket Analysis adalah asosiasi dalam data mining yang dapat menemukan atribut yang muncul dalam satu waktu [5]. Proses ini menganalisis pola pembelian pelanggan dengan cara menemukan hubungan antara item-item yang berbeda yang diletakkan konsumen dalam shopping basket. Hasil yang telah didapatkan ini nantinya dapat dimanfaatkan oleh perusahaan retail seperti toko atau swalayan untuk mengembangkan strategi pemasaran dengan melihat item-item mana saja yang kemungkinan dibeli secara bersamaan oleh konsumen.

    Untuk beberapa kasus, pola dari item-item yang dibeli secara bersamaan oleh konsumen dapat ditebak, misalnya selai dibeli secara bersamaan dengan roti. Akan tetapi juga tidak menutup kemungkinan tercipta pola pembelian item yang belum pernah terpikirkan. Misalnya pembelian sabun mandi dengan makanan ringan. Bisa saja pola seperti ini terbentuk ketika suatu transaksi berlangsung. karena kebutuhan customer berbeda-beda dan tidak dapat diprediksi sehingga tidak ada jalan keluar, misalnya seperti stok sabun mandi di gudang habis. Oleh karena itu Market Basket Analysis diharapkan dapat membantu dalam penyelesaian masalah ini. Dengan menggunakan aplikasi ini seorang penjual bisa dengan cepat dan tepat dalam menentukan pola pembelian dari beberapa customer. Association Rule

    Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan asosiatif antara suatu kombinasi item [5]. Contoh asosiasi yang biasa terjadi seperti seberapa besar kemungkinan pembeli membeli roti dengan selai secara bersamaan. Penting tidaknya suatu aturan asosiatif dapat diketahui dengan dua parameter, yaitu support dan confidence. - Support (nilai penunjang) adalah persentase kombinasi item tersebut dalam

    database. - Confidence (nilai kepastian) adalah kuatnya hubungan antar item dalam aturan

    asosiasi.

    Aturan asosiasi biasanya dinyatakan dalam bentuk: {roti, mentega} {susu} (support=40%, confidence=50%) Aturan tersebut berarti 50% dari transaksi di database yang memuat item roti dan mentega juga memuat item susu. Sedangkan 40% dari seluruh transaksi yang ada di database memuat ketiga item itu. Dapat juga diartikan: Seorang konsumen yang membeli roti dan mentega punya kemungkinan 50% untuk juga membeli susu. Aturan ini cukup signifikan karena mewakili 40% dari catatan transaksi selama ini.

    Analisis asosiasi didefinisikan sebagai suatu proses untuk menemukan semua aturan asosiasi yang memenuhi syarat minimum untuk support (minimum support) dan syarat minimum untuk confidence (minimum confidence) [5]. Jika support-nya>=minimum support dan confidencenya>= minimum confidence, maka rule tersebut bisa dikatakan sebagai interesting rule. Algoritma Apriori

    Algoritma Apriori termasuk jenis aturan asosiasi pada data mining. Selain Apriori, yang termasuk pada golongan ini adalah metode Generalized Rule Induction

  • 5

    dan Algoritma Hash Based. Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan asosiasi antara suatu kombinasi item. Contoh aturan asosiasi dari analisis pembelian di suatu pasar swalayan adalah dapat diketahuinya berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Berdasarkan pengetahuan tersebut, pemilik swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu. [5].

    Penting tidaknya suatu aturan asosiasi dapat diketahui dengan dua parameter, yaitu support dan confidence. Support (nilai penunjang) adalah persentase kombinasi item tersebut dalam database, sedangkan confidence (nilai kepastian) adalah kuatnya hubungan antar item dalam aturan asosiasi. Metodologi dasar analisis asosiasi terbagi menjadi 2 (dua) tahap, yaitu: 1. Analisis pola frekuensi tinggi

    Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. Nilai support sebuah item diperoleh dengan Rumus 1

    ............................. 1 Sementara itu, nilai support dari 2 item diperoleh dari Rumus 2. Support(A,B) = P(AB)

    .................... 2 Seorang analis mungkin hanya akan mengambil aturan yang memiliki support

    dan/atau confidence yang tinggi. Aturan yang kuat adalah aturan-aturan yang melebihi kriteria support dan/atau confidence minimum. Misalnya seorang analis menginginkan aturan yang memiliki support lebih dari 20% dan confidence lebih dari 35%.

    Sebuah itemset adalah himpunan item-item yang berada dalam I, dan k-itemset adalah itemset yang berisi k item. Misalnya {Teh, Gula} adalah sebuah 2-itemset dan {Teh, Gula, Roti} merupakan 3-itemset.

    Frequent Itemset menunjukkan itemset yang memiliki frekuensi kemunculan lebih dari nilai minimum yang telah ditentukan (). Misalnya = 2, maka semua itemset yang frekuensi kemunculannya lebih dari atau sama dengan 2 kali disebut frequent. Himpunan dari frequent k-itemset dilambangkan dengan Fk. 2. Pembentukan aturan asosiasi

    Setelah semua pola frekuensi ditemukan, barulah dicari aturan asosiasi yang memenuhi syarat minimum untuk confidence dengan menghitung confidence aturan asosiatif A B dengan Rumus 3.

    ................... 3 Walaupun algoritma Apriori mudah untuk dipahami dan dimplementasikan dibandingkan dengan algoritma yang lainnya yang memang diterapkan untuk proses association rule, akan tetapi algoritma Apriori juga memiliki kekurangan yaitu, untuk melakukan pencarian frequent itemset, algoritma Apriori harus melakukan scanning database berulang kali untuk setiap kombinasi item. Hal tersebut

  • 6

    menyebabkan banyaknya waktu yang dibutuhkan untuk melakukan scanning database. Selain itu, dibutuhkan generate candidate yang besar untuk mendapatkan kombinasi item dari database. Algoritma Apriori dalam bentuk pseudocode, adalah sebagai berikut: Input : D, a database of a transactions; Min_support, the minimum support count threshold Output : L, frequent itemsets in D Method : L1 = find_frequent_1_itemsets(D);

    for (k = 2; Lk-1 ;k | |) { Ck = Apriori_gen(L1-1);

    for each transaction t D {//scan D for counts Ct = subset (Ck,t); //get the subsets of t that are candidates

    for each candidate c Ct c.count | |; }

    Lk = {c Ck | c.counts min_sup} }

    return L = k Lk;

    3. Metode dan Perancangan Sistem

    Metode penelitian yang digunakan pada pembuatan aplikasi ini yaitu model waterfall. Model waterfall disebut juga dengan classic life cycle. Secara lengkap, alur model waterfall yang merupakan model klasik akan digambarkan seperti pada Gambar 1 [6].

    Gambar 1 Waterfall Model [6]

    Keuntungan dari model waterfall ini, yaitu setiap tahapan akan dievaluasi secara teliti untuk mendapatkan hasil yang maksimal. Berikut ini merupakan tahapan metode Waterfall dalam penelitian ini: - Analisis kebutuhan dan pendefinisiannya

    Analisis kebutuhan dilakukan dengan melakukan penelitian di toko oleh-oleh Wisata Rasa Surabaya. Pengumpulan data dilakukan dengan wawancara bersama pemilik toko tersebut.

  • 7

    Pada tahap ini dilakukan analisa terhadap kebutuhan pengguna sistem berdasarkan proses bisnis yang ada. Kebutuhan pengguna tersebut antara lain :

    1. Sistem dapat memproses transaksi pembelian oleh pembeli di toko oleh-oleh tersebut dan menyimpannya dalam basis data.

    2. Sistem dapat digunakan untuk melakukan manajemen barang dagangan pada toko tersebut.

    3. Sistem dapat digunakan untuk melakukan manajemen kategori barang dagangan.

    4. Sistem dapat digunakan untuk menampilkan pendapatan toko berdasarkan periode waktu yang dimasukkan oleh pemilik toko.

    5. Sistem dapat melakukan analisis keranjang belanja (Market Basket Analysis) supaya dapat diketahui keterkaitan pembelian produk oleh pembeli pada periode waktu yang diinginkan.

    - Perancangan sistem dan perangkat lunak Setelah melakukan analisis kebutuhan pengguna sistem, tahap kedua adalah

    melakukan perancangan sistem yang akan dibangun. Perancangan sistem dibuat dengan menggunakan diagram-diagram UML, yang meliputi use case diagram, activity diagram, sequence diagram dan class diagram. Perancangan user interface juga dilakukan pada tahap ini. - Integrasi dan pengujian unit

    Tahap ketiga adalah melakukan implementasi dari hasil perancangan sistem menggunakan bahasa pemrograman Java, serta dilakukan pengujian untuk mencari kesalahan pemrogramannya. Hasilnya dievaluasi kembali, jika masih belum sempurna, maka dikembalikan ke tahap sebelumnya yaitu tahap perancangan dari tahap tersebut. - Integrasi dan pengujian sistem

    Tahap ke 4 (empat) adalah menyatukan program dan melakukan pengujian sistem, apakah benar-benar memberikan manfaat dalam segi efisiensi dan efektifitas serta memudahkan pengguna dalam pemakaiannya sehingga bisa menciptakan sebuah sistem yang terkomputerisasi dengan baik. Pada tahapan ini sistem akan dievaluasi. - Operasi dan pemeliharaan sistem

    Tahapan terakhir, sistem yang telah dibangun harus dijaga dan dirawat serta harus dilakukan evaluasi untuk mencari kelemahan-kelemahan yang ada. Jika di kemudian hari sistem tersebut masih perlu penyempurnaan, maka hasil evaluasi terakhir ini, akan menjadi analisa data dan kebutuhan yang baru untuk pengembangan ke depannya.

    Perancangan Sistem dengan UML (Unified Modelling Language)

    Perancangan sistem menggunakan Unified Modelling Language (UML), yaitu dibuat 4 (empat) diagram: use case diagram, activity diagram, sequence diagram dan class diagram. Use Case Diagram

    Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.

  • 8

    Gambar 2 Use Case Diagram sistem

    Gambar 2 mendeskripsikan fungsi-fungsi yang dapat dilakukan jika seorang pengguna masuk sebagai admin atau pegawai, di mana admin atau pemilik toko mempunyai hak akses untuk melakukan update barang, update user, update kategori, melakukan transaksi penjualan, melihat laporan penjualan, dan juga melakukan Market Basket Analysis. Sedangkan pegawai hanya dapat melakukan transaksi penjualan saja. Activity Diagram

    Activity diagram menggambarkan proses-proses yang terjadi dari suatu aktivitas dimulai sampai berhenti. Untuk kebutuhan proses dari sistem yang akan dibangun, terdapat 2 (dua) activity diagram, yaitu untuk Pemilik Toko dan Pegawai Toko. Activity diagram untuk Pemilik Toko dapat dilihat pada Gambar 3.

    Gambar 3 Activity Diagram Pemilik Toko

  • 9

    Gambar 3 merupakan activity diagram untuk pemilik toko. Aktivitas yang dapat dilakukan oleh pemilik toko setelah login dengan valid adalah melakukan manajemen barang, manajemen kategori, manajemen user, melakukan transaksi penjualan, melihat laporan penjualan dan melakukan Market Basket Analysis.

    Gambar 4 Activity Diagram Pegawai Toko

    Gambar 4 merupakan activity diagram dari pegawai toko. Seorang pegawai toko memiliki aktivitas melakukan transaksi penjualan setelah selesai melakukan login dengan valid.

    Sequence Diagram

    Sequence diagram menggambarkan interaksi antar obyek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu.

    : Pemilik Toko MarketBasketUI PenjualanController tb_penjualan tb_detail_penjualan

    input(support, confidence, tanggal) send data(support,

    confidence, tanggal)

    request(tanggal)

    request(tanggal)

    return data

    perhitungan market basket analysis

    menampilkan hasil MBA

    Gambar 5 Sequence Diagram Market Basket Analysis

  • 10

    Gambar 5 merupakan sequence diagram pemilik toko dalam melakukan Market Basket Analysis. Proses diawali oleh pemilik toko dengan memasukkan nilai support, confidence dan memasukkan tanggal melalui form yang disediakan. Proses dilanjutkan dengan memanggil PenjualanController untuk mengambil data dari tabel tb_penjualan dan tb_detail_penjualan. Data yang diambil kemudian dilakukan perhitungan untuk menentukan Market Basket Analysis, hasilnya ditampilkan kembali pada form Market Basket Analysis.

    : Pegawai TokoFormPenjualanTransaksi PenjualanController tb_penjualan tb_detail_penju

    alaninput transaksi(no_nota, tanggal, kode_barang,banyak,subtotal, total)

    transaksi(no_nota, tanggal,

    kode_barang,banyak,subtotal, total)

    send data(no_nota, tanggal,

    kode_barang,banyak,subtotal, total) send data(no_nota,

    tanggal, total)

    simpan data

    send data(no_nota, kode_barang, banyak, subtotal)

    simpan data

    send info

    send info

    konfirmasi

    Gambar 6 Sequence Diagram Transaksi Penjualan

    Gambar 6 adalah sequence diagram transaksi penjualan yang dilakukan oleh pegawai toko. Proses dimulai dengan memasukkan data transaksi, kemudian data dikirimkan oleh controller untuk disimpan dalam tabel tb_penjualan dan tb_detail_penjualan. Tabel tb_penjualan digunakan untuk menyimpan data nomor nota, tanggal transaksi dan total bayar, sedangkan tabel tb_detail_penjualan menyimpan detail penjualan, yaitu nomor nota, kode barang, banyak barang dan sub total. Class Diagram

    Class Diagram memperlihatkan atau menampilkan struktur dari sebuah sistem, di mana sistem tersebut akan menampilkan kelas, atribut, method dan hubungan antara kelas.

  • 11

    Gambar 7 Class Diagram Sistem

    Gambar 7 merupakan class diagram sistem, di mana ditampilkan class-class yang dibuat dalam sistem. Class-class ini dapat dikelompokkan dalam 3 (tiga) macam, yaitu class entity, class controller dan class user interface. Perancangan Basis Data

    Pada bagian ini akan disampaikan perancangan basis data dan akan ditampilkan tabel-tabel yang ada dalam basis data. Tabel tb_barang

    Tabel tb_barang digunakan untuk menyimpan data barang yang dijual oleh toko Wisata Rasa. Struktur tabel tb_barang bisa dilihat pada Tabel 1

    Tabel 1Struktur Tabel tb_barang

    Tabel tb_kategori

    Tabel tb_kategori digunakan untuk menyimpan data kategori dari barang yang dijual oleh toko Wisata Rasa. Struktur tabel tb_kategori dapat dilihat pada Tabel 2.

    Field Type Size Keterangan kode_barang varchar 15 Kode barang, primary key nama_barang varchar 100 Nama barang Satuan varchar 45 Satuan barang kode_kategori varchar 45 Kategori barang harga_satuan integer Harga satuan

  • 12

    Tabel 2 Struktur Tabel tb_kategori

    Tabel tb_penjualan Tabel tb_penjualan digunakan untuk menyimpan transaksi penjualan. Struktur

    tabel tb_penjualan dapat dilihat pada Tabel 3. Tabel 3 Struktur Tabel tb_penjualan

    Tabel tb_user

    Tabel tb_user digunakan untuk menyimpan data user pengguna sistem ini. Struktur tabel tb_user dapat dilihat pada Tabel 4.

    Tabel 4 Struktur Tabel tb_user

    Tabel tb_detail_penjualan

    Tabel detail_penjualan digunakan untuk menyimpan data detail dari transaksi penjualan yang terjadi. Struktur tabel detail_penjualan dapat dilihat pada Tabel 5.

    Tabel 5 Struktur Tabel tb_detail_penjualan

    4. Hasil Implementasi dan Pembahasan

    Menu Utama Tampilan pertama yang dihadapi oleh user adalah tampilan form login seperti

    terlihat pada Gambar 8.

    Field Type Size Keterangan kode_kategori varchar 45 Kode kategori, primary key nama_kategori varchar 45 Nama kategori keterangan varchar 100 Satuan barang

    Field Type Size Keterangan no_nota varchar 45 Nomor nota, primary key tanggal date Tanggal transaksi total integer Total harga diskon integer Diskon bayar grand_total integer Grand total

    Field Type Size Keterangan user_id integer Id user, primary key, auto

    increment username varchar 45 Username pengguna sistem password varchar 45 Password pengguna sistem level varchar 10 Level pengguna sistem

    Field Type Size Keterangan no_nota varchar 45 - kode_barang varchae 15 Tanggal transaksi banyak integer Banyak barang dibeli sub_total double Sub total harga

  • 13

    Gambar 8 Form Login

    Gambar 8 adalah tampilan awal saat aplikasi ini dijalankan, yaitu form login. Pilihan menu pada menu bar akan disable untuk pertama kali, namun akan aktif jika user telah melakukan login dengan sukses.

    Gambar 9 Form untuk Admin

    Gambar 9 adalah tampilan untuk hak akses admin. Pada hak akses admin, seorang admin yaitu pemilik toko dapat melakukan semua fasilitas dalam sistem ini, yaitu melakukan manajemen barang, kategori, user, melakukan transaksi penjualan, melakukan analisis keranjang belanja dan dapat melihat laporan penjualan berdasarkan waktu tertentu. Fasilitas-fasilitas ini dapat dipilih pada deretan menu bar yang ada pada bagian atas aplikasi. Menu Manajemen Barang

    Tampilan manajemen barang dapat dilihat pada Gambar 10.

  • 14

    Gambar 10 Form Manajemen Barang

    Gambar 10 adalah tampilan untuk melakukan manajemen barang pada toko. Kegiatan ini hanya dapat dilakukan oleh pemilik toko, di mana pemilik toko dapat menambah, mengubah dan menghapus barang. Selain itu juga disediakan fasilitas search barang berdasarkan kode barang, nama barang dan kode kategori. Menu Transaksi Penjualan

    Aplikasi ini menyediakan fasilitas yang dapat digunakan untuk memproses transaksi penjualan pada toko. Gambar 11 menunjukkan fasilitas ini.

    Gambar 11 Form Transaksi Penjualan Barang

    Gambar 11 adalah fasilitas untuk melakukan transaksi penjualan. Sistem akan melakukan generate nomor nota secara otomatis. Untuk memasukkan item-item barang yang dibeli oleh pembeli, pegawai atau pemilik toko cukup memasukkan kode barang yang sudah ditempel pada barang ke textfield yang disediakan, memasukkan jumlah barang dan memilih tombol simpan. Setelah semua item dimasukkan akan muncul jumlah total bayar.

  • 15

    Menu Laporan Penjualan Menu laporan penjualan hanya dapat dilihat oleh pemilik toko. Form laporan

    penjualan dapat dilihat pada Gambar 12.

    Gambar 12 Form Lihat Laporan Penjualan

    Laporan penjualan pada Gambar 13 akan menampilkan laporan hasil penjualan pada periode waktu tertentu, yaitu sesuai dengan tanggal yang dimasukkan oleh pemilik toko. Fasilitas ini dapat digunakan untuk mengetahui pendapatan toko dari hasil transaksi tersebut. Menu Market Basket Analysis

    Pada menu Market Basket Analysis akan ditampilkan form untuk melakukan analisis keranjang belanja menggunakan Association Rule yaitu algoritma Apriori. Untuk masuk ke form ini, pemilik toko dapat memilih menu Analisis Market Basket. Form Market Basket Analysis diperlihatkan pada Gambar 13.

    Gambar 13 Form Market Basket Analysis

    Gambar 13 adalah tampilan untuk melakukan analisis keranjang belanja, di mana pemilik toko dapat memasukkan nilai support dan confidence sesuai dengan

  • 16

    keinginan dalam melakukan analisis. Fasilitas date picker dapat digunakan untuk menentukan periode waktu dalam melakukan analisis keranjang belanja. Setelah tombol Analisis dipilih, maka sistem akan melakukan perhitungan untuk menghasilkan Association Rule dan akan ditampilkan pada textarea.

    Penentuan Association Rule menggunakan bantuan algoritma Apriori. Hasil perhitungan dan aturan asosiasi yang terbentuk dari input pada Gambar 13, dapat dilihat pada Gambar 14.

    Gambar 14 Form Hasil Market Basket Analysis

    Gambar 14 menunjukkan hasil perhitungan dan analisis keranjang belanja menggunakan Association Rule yaitu algoritma Apriori. 1. Tahapan pertama dalam perhitungan adalah melakukan pencarian transaksi pada

    tanggal awal dan tanggal akhir yang dimasukkan oleh user. Berdasarkan tanggal yang dimasukkan (tanggal awal 2012-04-01 dan tanggal akhir 2012-04-22), maka transaksi yang ada dapat dilihat pada Tabel 6.

    Tabel 6 Barang yang Dibeli Hasil Pencarian Transaksi Item yang dibeli 1 18, 726, 187 2 740, 180, 187 3 187, 179, 8, 180 4 726, 187, 179, 8 5 8, 740, 18 6 180, 740, 8, 179 7 179, 187 8 18, 179, 726 9 180, 740, 8 10 8, 187

    2. Langkah berikutnya adalah membuat tabel tabular untuk melakukan perhitungan

    banyaknya pembelian untuk setiap item. Tabel banyaknya item yang dibeli dapat dilihat pada Tabel 7.

  • 17

    Tabel 7 Tabel Banyaknya Item yang Dibeli

    Transaksi 740 8 18 187 726 180 179 1 0 0 1 1 1 0 0 2 1 0 0 1 0 1 0 3 0 1 0 1 0 1 1 4 0 1 0 1 1 0 1 5 1 1 1 0 0 0 0 6 1 1 0 0 0 1 1 7 0 0 0 1 0 0 1 8 0 0 1 0 1 0 1 9 1 1 0 0 0 1 0

    10 0 1 0 1 0 0 0 4 6 3 6 3 4 5

    3. Menentukan nilai dan menentukan frequent itemset Nilai ditentukan dengan banyak transaksi yaitu 10 dikalikan dengan nilai support 30%, sehingga = 3. Langkah berikutnya adalah menentukan frequent itemset. Berdasarkan Tabel 7 diketahui total untuk transaksi k = 1 semuanya lebih besar atau sama dengan nilai , sehingga: F1 = {{740}, {8}, {18}, {187}, {726}, {180}, {179}} Untuk k = 2 (2 item), diperlukan tabel untuk masing-masing item. Kombinasi item yang terbentuk adalah: {740,8}, {740,18}, {740,187}, {740,726}, {740,180}, {740,179}, {8,18}, {8,187}, {8,726}, {8,180}, {8,179}, {18,187}, {18,726}, {18, 180}, {18,179}, {187,726}, {187,180}, {187,179}, {726,180}, {726,179}, {180,179}. Dari setiap kombinasi yang terbentuk, akan dicari frequent itemset masing-masing item seperti pada Gambar 16 dan Gambar 17.

    Gambar 15 Hasil Perhitungan 2 Itemset

  • 18

    Gambar 16 Hasil Perhitungan 2 Itemset

    Pada Gambar 16 dan Gambar 17, P artinya adalah item-item yang dibeli bersamaan, sedangkan S berarti tidak ada item yang dibeli bersamaan atau tidak dibeli oleh pembeli. melambangkan jumlah frequent itemset. Jumlah frequent itemset harus lebih besar atau sama dengan nilai yaitu 3, sehingga didapat: F2 = {{740,8}, {740,180}, {8,187}, {8,180}, {8,179}, {187,179}} Kombinasi dari itemset dalam F2 dapat digabungkan menjadi calon 3 itemset. Itemset-itemset yang dapat digabungkan adalah itemset-itemset yang memiliki kesamaan dalam k-1 item pertama. Misalnya {740,8} dan {740,180} memiliki k-1 itemset pertama yang sama yaitu 740, maka dapat digabungkan menjadi 3-itemset baru yaitu {740,8,180}. Untuk k = 3 (3 unsur), himpunan yang bisa dibentuk adalah: {740,8,180}, {8,187,180} {8,187,179}, {8,180,179}. Dari setiap kombinasi yang terbentuk, akan dicari frequent itemset masing-masing item seperti pada Gambar 17.

    Gambar 17 Hasil Perhitungan 3 Itemset

    Berdasarkan Gambar 17, didapatkan himpunan F3 = {}, karena tidak memenuhi >= , sehingga F4, F5, F6 dan seterusnya juga merupakan himpunan kosong.

    4. Langkah berikutnya adalah membuat rule berdasarkan frequent itemset yang didapat. Rule yang digunakan adalah jika x, maka y, di mana x adalah antecedent dan y adalah consequent. Berdasarkan rule tersebut, maka dibutuhkan 2 buat item yang mana salah satunya sebagai antecedent dan sisanya sebagai consequent. Berdasarkan langkah 3 didapatkan 1 buah Fk yaitu F2. F1

  • 19

    tidak ikut disertakan karena hanya terdiri dari 1 item saja. Untuk antecedent boleh lebih dari 1 unsur, sedangkan untuk consequent terdiri dari 1 unsur.

    5. Menentukan (ss-s) sebagai antecedent dan s sebagai consequent dari Fk yang didapat pada langkah 4. Pada langkah 4 didapat himpunan F2 = {{740,8}, {740,180}, {8,187}, {8,180}, {8,179}, {187,179}}, jadi dapat disusun rule: Untuk {740,8}:

    - Jika (ss-s) = 740, jika s = 8, maka jika membeli 740, maka membeli 8.

    - Jika (ss-s) = 8, jika s = 740, maka jika membeli 8, maka membeli 740.

    Untuk {740,180}: - Jika (ss-s) = 740, jika s = 180, maka jika membeli 740, maka

    membeli 180. - Jika (ss-s) = 180, jika s = 740, maka jika membeli 180, maka

    membeli 740. Untuk {8,187}:

    - Jika (ss-s) = 8, jika s = 187, maka jika membeli 8, maka membeli 187.

    - Jika (ss-s) = 187, jika s = 8, maka jika membeli 187, maka membeli 8.

    Untuk {8,180}: - Jika (ss-s) = 8, jika s = 180, maka jika membeli 8, maka membeli

    180. - Jika (ss-s) = 180, jika s = 8, maka jika membeli 180, maka membeli

    8. Untuk {8,179}:

    - Jika (ss-s) = 8, jika s = 179, maka jika membeli 8, maka membeli 179.

    - Jika (ss-s) = 179, jika s = 8, maka jika membeli 179 maka membeli 8. Untuk {187,179}:

    - Jika (ss-s) = 187, jika s = 179, maka jika membeli 187, maka membeli 179.

    - Jika (ss-s) = 179, jika s = 187, maka jika membeli 179, maka membeli 187.

    6. Berdasarkan hasil rule pada langkah 5, dibuat tabel kandidat aturan asosiasi

    untuk 1 antecedent seperti pada Tabel 8 dan dihitung nilai support dan confidence-nya.

  • 20

    Untuk item yang dibeli sekaligus pada jika membeli 740, maka membeli 8 ada 3 transaksi, jumlah seluruh transaksi ada 10 transaksi, sehingga nilai support-nya adalah:

    Untuk item yang dibeli sekaligus pada jika membeli 740, maka membeli 8 ada 3, sedangkan jumlah transaksi yang membeli 740 ada 4 transaksi, sehingga confidence-nya:

    Tabel 8 Hasil Perhitungan Support dan Confidence

    Jika antecedent, maka consequent Support Confidence Jika membeli 740, maka membeli 8 (3/10) x 100% = 30% (3/4) x 100% = 75% Jika membeli 8, maka membeli 740 (3/10) x 100% = 30% (3/6) x 100% = 50% Jika membeli 740, maka membeli 180 (3/10) x 100% = 30% (3/4) x 100% = 75% Jika membeli 180, maka membeli 740 (3/10) x 100% = 30% (3/4) x 100% = 75% Jika membeli 8, maka membeli 187 (3/10) x 100% = 30% (3/6) x 100% = 50% Jika membeli 187, maka membeli 8 (3/10) x 100% = 30% (3/6) x 100% = 50% Jika membeli 8, maka membeli 180 (3/10) x 100% = 30% (3/6) x 100% = 50% Jika membeli 180, maka membeli 8 (3/10) x 100% = 30% (3/4) x 100% = 75% Jika membeli 8, maka membeli 179 (3/10) x 100% = 30% (3/6) x 100% = 50% Jika membeli 179, maka membeli 8 (3/10) x 100% = 30% (3/5) x 100% = 60% Jika membeli 187, maka membeli 179 (3/10) x 100% = 30% (3/6) x 100% = 50% Jika membeli 179, maka membeli 187 (3/10) x 100% = 30% (3/5) x 100% = 60%

    Tabel 8 menunjukkan hasil perhitungan support dan confidence setelah sebelumnya pada Gambar 14, user memasukkan nilai minimum support sebesar 30% dan minimum confidence sebesar 75%. Langkah berikutnya adalah dengan melakukan perkalian antara nilai support dan confidence dari transaksi yang memenuhi minimum support dan minimum confidence yang dimasukkan sebelumnya.

    Tabel 9 Hasil Perhitungan Support x Confidence Jika antecedent, maka consequent Support Confidence Support x

    Confidence Jika membeli 740, maka membeli 8 30% 75% 22.5% Jika membeli 740, maka membeli 180

    30% 75% 22.5%

    Jika membeli 180, maka membeli 740

    30% 75% 22.5%

    Jika membeli 180, maka membeli 8 30% 75% 22.5% Tabel 9 menunjukkan hasil perkalian support dan confidence, setelah melakukan perkalian antara support dan confidence lalu dicari hasil perkalian yang paling besar. Hasil dari perkalian yang paling besar merupakan rule yang dipakai pada saat menjual. Hasil perkalian pada Tabel 9 bernilai sama besar, sehingga semuanya dapat digunakan sebagai rule. - Jika membeli Susu Ultra, maka membeli Lapis Surabaya dengan support

    30% dan confidence 75%. - Jika membeli Susu Ultra, maka membeli Ledre Hello dengan support

    30% dan confidence 75%.

  • 21

    - Jika membeli Ledre Hello, maka membeli Susu Ultra dengan support 30% dan confidence 75%.

    - Jika membeli Ledre Hello, maka membeli Lapis Surabaya dengan support 30% dan confidence 75%.

    Hasil Pengujian dan Analisis

    Hasil pengujian Market Basket Analysis dari sistem yang telah dibuat dapat dilihat pada Tabel 10.

    Tabel 10 Hasil Uji Coba Sistem No. Minimum

    Support Minimum Confidence

    Aturan Asosiasi yang Terbentuk Support x Confidence

    1 30% 75% Jika membeli " LEDRE HELLO " maka akan membeli " SUSU ULTRA " dengan Supp 30% dan Conf 75%

    22.5%

    Jika membeli " SUSU ULTRA " maka akan membeli " LEDRE HELLO " dengan Supp 30% dan Conf 75% Jika membeli LEDRE HELLO maka akan membeli LAPIS SURABAYA dengan Supp 30% dan Conf 75% Jika membeli SUSU ULTRA maka akan membeli LAPIS SURABAYA dengan Supp 30% dan Conf 75%

    22.5%

    22.5%

    22.5%

    Support dari suatu itemset merupakan presentase dari seluruh data yang ada dalam basis data yang mengandung itemset tersebut. Nilai support 30% artinya presentase kemunculan suatu itemset adalah 30% dari seluruh data yang terdapat dalam basis data. Sedangkan nilai minimum support 30% artinya kemunculan itemset yang membentuk rule adalah kurang atau sama dengan 30%. Berdasarkan hasil pengujian pada Tabel 10 diketahui bahwa dengan menggunakan nilai minimum support yang berbeda dihasilkan rule yang berbeda pula.

    Confidence merupakan tingkat kepercayaan atau tingkat kebenaran dari rule yang terbentuk. Rule yang dicari adalah yang mempunyai nilai kebenaran yang besar, yaitu rule yang membuat prediksi yang benar. Semakin tinggi nilai support dan confidence, maka semakin tinggi tingkat keakuratan dari rule atau pola yang dihasilkan. 5. Simpulan Berdasarkan hasil pengujian Market Basket Analysis dari sistem yang telah dibuat dengan menggunakan data transaksi bulan April 2012, dapat disimpulkan bahwa semakin tinggi nilai support dan confidence, maka semakin tinggi tingkat keakuratan dari rule atau pola yang dihasilkan. dari hasil pengujian menggunakan minimum support 30% dan minimum confidence 75% menghasilkan kemungkinan sebesar 22,5% jika membeli LEDRE HELLO juga akan membeli SUSU ULTRA dan LAPIS SURABAYA. Kita dapat menggunakan hasil dari pengujian sistem untuk menentukan pola penjualan dan menyusun strategi pemasaran, yaitu

  • 22

    antara lain LEDRE HELLO diletakkan bersebelahan dengan SUSU ULTRA dan LAPIS SURABAYA dalam penjualan produknya, dan kita dapat menggunakannya untuk menyusun paket parcel untuk pembeli.

    Terdapat kendala apabila sistem digunakan untuk menghitung data transaksi yang sangat banyak, yaitu waktu perhitungan yang semakin lama, dan saran yang diajukan dalam pengembangan aplikasi ini adalah optimalisasi dalam hal waktu pemrosesan data pada saat analisis, algoritma Apriori memerlukan waktu yang cukup lama dalam hal generating itemset. untuk mempercepat akses ke database bisa digunakan teknologi Hibernate, atau ORM.

    6. Pustaka [1] Tandyo R. A., Kristoko D. H., Jasson P., 2009, Sistem Data Mining dengan

    Association Rule untuk Menentukan Keterkaitan Antar Produk (Studi Kasus : Swalayan Ada Baru Salatiga), Salatiga: Koleksi Perpustakaan Pusat UKSW.

    [2] Dewi A. O., Yessica N., Yos R. B., 2010, Market Basket Analysis

    Menggunakan Metode Fuzzy C-Covering untuk Menentukan Pola Pembelian Pelanggan Pada Toko Buku (Studi Kasus: Toko Buku Andi Star Salatiga), Salatiga: Koleksi Perpustakaan Pusat UKSW.

    [3] Rifa, Noverino, Kharizt Attria Gupta., 2004, Business Intelligence, ITB. [4] Han, Jiawei & Kember, Michelin, 2001, Data mining Concepts & Techniques,

    Simon Fraser University Academic Press, US. [5] Kusrini, Emha T. L., 2009, Algoritma Data Mining, Yogyakarta: Penerbit

    Andi. [6] Pressman, R.S., 2001, Software Engineering : A Practitioners Approach,

    Amerika Serikat : R.S. Pressman and Associates. [7] Agrawal, Rakesh, Ramakrishnan Srikant., 1994, Fast Algorithm for Mining

    Association Rules. In Proc. 1994 International Conference Very Large Data Bases (VLDB).