penerapan algoritma apriori skripsi · 2018. 11. 21. · mengimplementasikan algoritma apriori...

135
PENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi Kasus Pada Toko “Kafe Swalayan”) SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika Disusun Oleh : Amin Nurdiyanto 035314041 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2009

Upload: others

Post on 30-Jan-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

  • PENERAPAN ALGORITMA APRIORI

    UNTUK PENCARIAN POLA ASOSIASI BARANG

    PADA DATA TRANSAKSI PENJUALAN

    (Studi Kasus Pada Toko “Kafe Swalayan”)

    SKRIPSI

    Diajukan Untuk Memenuhi Salah Satu Syarat

    Memperoleh Gelar Sarjana Teknik

    Jurusan Teknik Informatika

    Disusun Oleh :

    Amin Nurdiyanto

    035314041

    JURUSAN TEKNIK INFORMATIKA

    FAKULTAS SAINS DAN TEKNOLOGI

    UNIVERSITAS SANATA DHARMA

    YOGYAKARTA

    2009

  • APRIORI ALGORITHM IMPLEMENTATION

    FOR FINDING GOODS ASSOCIATION RULES

    ON TRANSACTION OF SELLING DATA

    (Case Study at “Kafe Swalayan” Store)

    A THESIS

    Presented as Partial Fulfillment of the Requirements

    To Obtain the Sarjana Teknik Degree

    In Informatics Engineering

    By :

    Amin Nurdiyanto

    035314041

    DEPARTMENT OF INFORMATICS ENGINEERING

    FACULTY OF SCIENCE AND TECHNOLOGY

    SANATA DHARMA UNIVERSITY

    YOGYAKARTA

    2009

  • vi

    MOTO

    Hidup tak selamanya indah.

    Kebahagiaan hidup bukan ditentukan oleh materi yang berlimpah, tapi oleh hati yang tentram.

    Seperti filosofi padi, semakin dia berisi semakin dia menunduk.

    Tak ada yang tak mungkin dalam hidup ini jika kita mau berusaha.

    “sepi ing pamrih, rame ing gawe”

  • vii

    HALAMAN PERSEMBAHAN

    Karya ilmiKarya ilmiKarya ilmiKarya ilmiah ini saya persembahkan kepada :ah ini saya persembahkan kepada :ah ini saya persembahkan kepada :ah ini saya persembahkan kepada :

    Bapak dan Ibu tercinta atas doa, semangat serta dukungan

    yang tak terhingga nilainya baik secara moril maupun

    materiil.

    Adikku tercinta, atas doa, semangat, dan kerelaannya

    untuk mengalah, berbagi kasih sayang dari bapak dan ibu.

    Almamaterku Teknik Informatika

    Universitas Sanata Dharma, khususnya angkatan 2003

  • viii

    ABSTRAK

    Transaksi penjualan barang pada suatu toko swalayan menghasilkan data

    transaksi yang besar dan disimpan dalam database. Dalam suatu periode waktu

    tertentu, data transaksi tersebut bertambah seiring dengan banyaknya transaksi

    yang dilakukan oleh konsumen. Data transaksi tersebut dapat di analisa untuk

    menghasilkan pengetahuan yang lebih berguna bagi pemilik toko.

    Pada Tugas Akhir ini akan dibuat sebuah sistem untuk

    mengimplementasikan algoritma Apriori menggunakan teknik Association Rules

    Mining untuk menganalisa data transaksi penjualan. Sistem yang dibuat

    mengunakan bahasa pemrograman java dan database MySQL.

    Hasil akhir yang diperoleh dari implementasi algoritma Apriori untuk

    analisa data transaksi adalah pola asosiasi penjualan antar barang. Pengertian

    secara sederhana adalah hubungan suatu barang terjual bersamaan dengan barang

    apa saja pada transaksi penjualan yang telah terjadi. Hasil analisa tersebut dapat

    direkomendasikan kepada pemilik swalayan sebagai pendukung pengambilan

    keputusan dalam rangka pengembangan usaha.

  • ix

    ABSTRACT

    Goods selling transaction in the department store results large transaction

    data and have been saving into database. In a periodic the transaction data grow as

    much as transaction has been done by customer. The transaction data can be

    analyzed to results more knowledge for owner department store.

    In this thesis would be made a system to implemented Apriori algorithm

    using Association Rules Mining technique to analyze transaction of selling data.

    The system made by using java programming language and MySQL database.

    The result that will be achieved by Apriori algorithm implementation for

    transaction data analyze is accompanying goods association rules. The Simple of

    definition is a goods has been selling be equal to any goods relationship on the

    selling transaction that occur. The analysis can be recommended to department

    store owner as decision support maker on the trade developing framework.

  • xi

    KATA PENGANTAR

    Puji dan syukur saya panjatkan kehadirat Allah SWT yang telah

    memberikan rahmat dan karunia-Nya, sehingga saya dapat menyelesaikan Tugas

    Akhir ini dengan baik.

    Dalam proses penulisan tugas akhir ini saya menyadari bahwa ada begitu

    banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya

    masing-masing sehingga tugas akhir ini dapat diselesaikan. Oleh karena itu saya

    ingin mengucapkan terima kasih antara lain kepada :

    1. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan

    Teknologi Universitas Sanata Dharma Yogyakarta.

    2. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Tugas

    Akhir dan Pembimbing Akademik, yang telah banyak memberikan

    bimbingan, dukungan, motivasi dan waktu untuk membimbing saya

    sehingga saya dapat menyelesaikan tugas akhir ini dengan baik.

    3. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T., selaku Ketua Jurusan Teknik

    Informatika.

    4. Bapak Alb. Agung Hadhiatma, S.T., M.T., dan bapak Eko Hari Parmadi

    S.Si., M.Kom., selaku panitia penguji yang telah memberikan banyak kritik

    dan saran demi sempurnanya tugas akhir saya.

    5. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang

    telah banyak memberikan bekal ilmu, arahan, dan pengalaman selama saya

    menempuh studi.

  • xii

    6. Seluruh staff Sekretariat Sains dan Teknologi Universitas Sanata Dharma,

    yang banyak membantu saya dalam urusan administrasi akademik.

    7. Staff laboran Teknik Informatika, terima kasih atas bantuannya dalam

    mempersiapkan laboratorium untuk praktikum saya.

    8. Ibu Novi selaku pemilik toko Kafe Swalayan yang telah memberikan data

    kepada saya guna keperluan tugas akhir ini.

    9. Bapak dan Ibu tercinta, terima kasih atas doa, semangat, dukungan dan

    cintanya sehingga saya bisa menyelesaikan studi dengan lancar.

    10. Teman-teman Teknik Informatika khususnya angkatan 2003, terima kasih

    atas bantuan, ilmu, dan persahabatan yang telah kita bagi.

    11. Seluruh pihak yang telah membantu dalam proses penulisan tugas akhir ini

    yang tidak bisa saya sebutkan satu per satu.

    Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari

    sempurna, oleh karena itu kritik dan saran untuk perbaikan tugas akhir ini sangat

    saya harapkan. Akhir kata, semoga tugas akhir ini bermanfaat bagi semua pihak.

    Terima kasih.

    Yogyakarta, 27 Februari 2009

    Amin Nurdiyanto

  • xiii

    DAFTAR ISI

    HALAMAN JUDUL BAHASA INDONESIA

    HALAMAN JUDUL BAHASA INGGRIS

    HALAMAN PERSETUJUAN ..................................................................................

    HALAMAN PENGESAHAN ...................................................................................

    PERNYATAAN KEASLIAN KARYA ...................................................................

    MOTO .......................................................................................................................

    HALAMAN PERSEMBAHAN ...............................................................................

    ABSTRAK ................................................................................................................

    ABSTRACT ..............................................................................................................

    LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

    UNTUK KEPENTINGAN AKADEMIS .................................................................

    KATA PENGANTAR ..............................................................................................

    DAFTAR ISI .............................................................................................................

    DAFTAR GAMBAR ................................................................................................

    DAFTAR TABEL ....................................................................................................

    DAFTAR RUMUS ...................................................................................................

    iii

    iv

    v

    vi

    vii

    viii

    ix

    x

    xi

    xiii

    xx

    xxiii

    xxiv

    BAB I. PENDAHULUAN

    1.1 Latar Belakang Masalah .......................................................................

    1.2 Rumusan Masalah ................................................................................

    1.3 Batasan Masalah ...................................................................................

    1

    3

    3

  • xiv

    1.4 Tujuan Penelitian .................................................................................

    1.5 Manfaat Penelitian ...............................................................................

    1.6 Metodologi Penelitian ..........................................................................

    1.7 Sistematika Penulisan ........................................................................

    BAB II. LANDASAN TEORI

    2.1 Data Mining .......................................................................................

    2.2 Proses Data Mining ...........................................................................

    2.3 Association Rules ..............................................................................

    2.4 Algoritma Apriori ..............................................................................

    BAB III. ANALISIS DAN DESAIN SISTEM

    3.1 Analisis Sistem ..................................................................................

    3.1.1 Gambaran Umum Sistem ......................................................

    3.1.2 Use Case Diagram .................................................................

    3.1.3 Class Diagram .......................................................................

    3.1.4 Activity Diagram ....................................................................

    3.1.4.1 Activity Diagram Sistem Kasir ...................................

    3.1.4.1.1 Activity Diagram Login Kasir ........................

    3.1.4.1.2 Activity Diagram Mencatat Data Transaksi ...

    3.1.4.1.3 Activity Diagram Logout Kasir ......................

    3.1.4.2 Activity Diagram Sistem Admin .................................

    3.1.4.2.1 Activity Diagram Login Admin .....................

    4

    4

    4

    5

    7

    7

    9

    11

    13

    20

    20

    20

    24

    25

    25

    25

    22

    26

    27

    26

    27

  • xv

    3.1.4.2.2 Activity Diagram Menambah Data Barang ...

    3.1.4.2.3 Activity Diagram Mengedit Data Barang ......

    3.1.4.2.4 Activity Diagram Menghapus Data Barang ...

    3.1.4.2.5 Activity Diagram Mencetak Data Barang ......

    3.1.4.2.6 Activity Diagram Menambah Data User .......

    3.1.4.2.7 Activity Diagram Mengedit Data User …......

    3.1.4.2.8 Activity Diagram Menghapus Data User .......

    3.1.4.2.9 Activity Diagram Mencetak Data User .........

    3.1.4.2.10 Activity Diagram Melihat Data Transaksi ..

    3.1.4.2.11 Activity Diagram Mencetak Data Transaksi

    3.1.4.2.12 Activity Diagram Melakukan Pencarian

    Pola Asosiasi Barang .................................

    3.1.4.2.13 Activity Diagram Mencetak Data Asosiasi

    Barang ........................................................

    3.1.4.2.14 Activity Diagram Logout Kasir ...................

    3.1.5 Sequence Diagram .................................................................

    3.1.5.1 Sequence Diagram Sistem Kasir ................................

    3.1.5.1.1 Sequence Diagram Login Kasir .....................

    3.1.5.1.2 Sequence Diagram Mencatat Data Transaksi

    3.1.5.1.3 Sequence Diagram Logout Kasir ...................

    3.1.5.2 Sequence Diagram Sistem Admin ..............................

    3.1.5.2.1 Sequence Diagram Login Admin ..................

    3.1.5.2.2 Sequence Diagram Menambah Data Barang

    28

    29

    30

    30

    31

    32

    33

    33

    34

    34

    35

    36

    36

    37

    37

    37

    38

    39

    39

    39

    40

  • xvi

    3.1.5.2.3 Sequence Diagram Mengedit Data Barang ...

    3.1.5.2.4 Sequence Diagram Menghapus Data Barang

    3.1.5.2.5 Sequence Diagram Mencetak Data Barang ...

    3.1.5.2.6 Sequence Diagram Menambah Data User ....

    3.1.5.2.7 Sequence Diagram Mengedit Data User .......

    3.1.5.2.8 Sequence Diagram Menghapus Data User ....

    3.1.5.2.9 Sequence Diagram Mencetak Data User .......

    3.1.5.2.10 Sequence Diagram Melihat Data Transaksi

    3.1.5.2.11 Sequence Diagram Mencetak Data

    Transaksi ....................................................

    3.1.5.2.12 Sequence Diagram Melakukan Pencarian

    Pola Asosiasi Barang .................................

    3.1.5.2.13 Sequence Diagram Mencetak Data

    Asosiasi Barang ..........................................

    3.1.5.3 Sequence Diagram Logout Kasir ................................

    3.2 Desain Sistem ....................................................................................

    3.2.1 ER Diagram ............................................................................

    3.2.2 Desain Database ....................................................................

    3.2.3 Desain Antar Muka (User Interface Design) .........................

    3.2.3.1 Form Login ................................................................

    3.2.3.2 Form Utama Sistem Kasir ..........................................

    3.2.3.3 Form Transaksi ...........................................................

    3.2.3.4 Form Utama Sistem Admin .......................................

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    51

    52

    52

    52

    56

    56

    56

    57

    57

  • xvii

    3.2.3.5 Form Daftar User .......................................................

    3.2.3.6 Form Daftar Barang ...................................................

    3.2.3.7 Form Daftar Transaksi ...............................................

    3.2.3.8 Form Perhitungan Apriori ..........................................

    3.2.3.9 Form Perhitungan Apriori - Mengambil Data

    Transaksi ....................................................................

    3.2.3.10 Form Perhitungan Apriori - Mengambil Data

    Transaksi ....................................................................

    3.2.3.11 Form Perhitungan Apriori - Cleaning Data ..............

    3.2.3.12 Form Perhitungan Apriori - Pencarian Pola Asosiasi

    Barang ........................................................................

    3.2.3.13 Form Perhitungan Apriori - Hasil Analisa ................

    BAB IV. IMPLEMENTASI SISTEM

    4.1 Spesifikasi Hardware dan Software yang Digunakan .......................

    4.1.1 Spesifikasi Hardware ............................................................

    4.1.2 Spesifikasi Software ..............................................................

    4.2 Pembuatan Database .........................................................................

    4.3 Koneksi Java dan MySQL .................................................................

    4.4 Pembuatan Antar Muka .....................................................................

    4.4.1 Form Login User ..................................................................

    4.4.2 Form Utama Sistem Kasir ....................................................

    4.4.3 Form Transaksi .....................................................................

    58

    58

    59

    59

    60

    60

    61

    62

    62

    63

    63

    63

    63

    64

    64

    66

    66

    67

    68

  • xviii

    4.4.4 Form Utama Sistem Admin ..................................................

    4.4.5 Form Daftar User ..................................................................

    4.4.6 Form Daftar Barang ..............................................................

    4.4.7 Form Daftar Transaksi ..........................................................

    4.4.8 Form Perhitungan Apriori – Langkah-langkah Perhitungan

    Apriori ............................................................................

    4.4.9 Form Perhitungan Apriori – Pemilihan Data Dari Database

    4.4.10 Form Perhitungan Apriori – Pemilihan Data Dari Database

    Sistem dan Preprosesing/Cleaning Data ........................

    4.4.11 Form Perhitungan Apriori – Pemilihan Data Dari Database

    Sistem dan Preprosesing/Cleaning Data ........................

    4.4.12 Form Perhitungan Apriori – Data Hasil

    Preprosesing/Cleaning ...................................................

    4.4.13 Form Perhitungan Apriori – Pencarian Pola Asosiasi

    Barang ............................................................................

    4.4.14 Form Perhitungan Apriori – Menganalisa Aturan Asosiasi ..

    4.4.15 Form Perhitungan Apriori – Pembacaan Grafik Support .....

    4.4.16 Form Perhitungan Apriori – Pembacaan Grafik Confidence

    BAB V. ANALISIS HASIL

    5.1 Analisis Pengujian Sistem .................................................................

    5.2 Analisis Manfaat Sistem ....................................................................

    5.3 Kelebihan dan Kekurangan Sistem ...................................................

    70

    71

    72

    73

    74

    75

    76

    77

    79

    80

    99

    100

    101

    102

    102

    106

    106

  • xix

    5.3.1 Kelebihan Sistem ...........................................................

    5.3.2 Kekurangan Sistem ........................................................

    BAB VI. PENUTUP

    6.1 Kesimpulan ........................................................................................

    6.2 Saran ..................................................................................................

    DAFTAR PUSTAKA

    106

    107

    108

    108

    109

  • xx

    DAFTAR GAMBAR

    Gambar Keterangan Halaman

    2.1 Proses KDD 9

    2.2 Proses Data Mining 12

    3.1 Use Case Diagram 24

    3.2 Class Diagram 24

    3.3 Activity Diagram Login Kasir 25

    3.4 Activity Diagram Mencatat Data Transaksi 26

    3.5 Activity Diagram Logout Kasir 27

    3.6 Activity Diagram Login Admin 27

    3.7 Activity Diagram Menambah Data Barang 28

    3.8 Activity Diagram Mengedit Data Barang 29

    3.9 Activity Diagram Menghapus Data Barang 30

    3.10 Activity Diagram Mencetak Data Barang 30

    3.11 Activity Diagram Menambah Data User 31

    3.12 Activity Diagram Mengedit Data User 32

    3.13 Activity Diagram Menghapus Data User 33

    3.14 Activity Diagram Mencetak Data User 33

    3.15 Activity Diagram Melihat Data Transaksi 34

    3.16 Activity Diagram Mencetak Data Transaksi 34

    3.17 Activity Diagram Melakukan Pencarian Pola Asosiasi

    Barang

    35

    3.18 Activity Diagram Mencetak Data Asosiasi Barang 36

    3.19 Activity Diagram Logout Admin 36

    3.20 SequenceDiagram Login Kasir 37

    3.21 SequenceDiagram Mencatat Data Transaksi 38

    3.22 Sequence Diagram Logout Kasir 39

    3.23 Sequence Diagram Login Admin 39

    3.24 Sequence Diagram Menambah Data Barang 40

  • xxi

    3.25 Sequence Diagram Mengedit Data Barang 41

    3.26 Sequence Diagram Menghapus Data Barang 42

    3.27 Sequence Diagram Mencetak Data Barang 43

    3.28 Sequence Diagram Menambah Data User 44

    3.29 Sequence Diagram Mengedit Data User 45

    3.30 Sequence Diagram Menghapus Data User 46

    3.31 Sequence Diagram Mencetak Data User 47

    3.32 Sequence Diagram Melihat Data Transaksi 48

    3.33 Sequence Diagram Mencetak Data Transaksi 49

    3.34 Sequence Diagram Melakukan Pencarian Pola Asosiasi

    Barang

    50

    3.35 Sequence Diagram Mencetak Data Asosiasi Barang 51

    3.36 Sequence Diagram Logout Admin 51

    3.37 ER Diagram 52

    3.38 Form Login 56

    3.39 Form Utama Sistem Kasir 56

    3.40 Form Transaksi 57

    3.41 Form Utama Sistem Admin 57

    3.42 Form Daftar User 58

    3.43 Form Daftar Barang 58

    3.44 Form Daftar Transaksi 59

    3.45 Form Utama Perhitungan Apriori 59

    3.46 Form Perhitungan Apriori - Mengambil Data Transaksi 60

    3.47 Form Perhitungan Apriori - Mengambil Data Transaksi 61

    3.48 Form Perhitungan Apriori - Cleaning Data 61

    3.49 Form Perhitungan Apriori - Pencarian Asosiasi Barang 62

    3.50 Form Perhitungan Apriori - Hasil Analisa 62

    4.1 Form Login User 66

    4.2 Form Utama Sistem Kasir 67

    4.3 Form Transaksi Kasir 68

  • xxii

    4.4 Form Utama Sistem Admin 70

    4.5 Form Daftar User 71

    4.6 Fom Daftar Barang 72

    4.7 Form Daftar Transaksi 73

    4.8 Form Perhitungan Apriori - Langkah-langkah

    Perhitungan Apriori

    74

    4.9 Form Perhitungan Apriori - Pemilihan Data Dari

    Database

    75

    4.10 Form Perhitungan Apriori - Pemilihan Data Dari

    Database Sistem dan Preprosesing/Cleaning Data

    76

    4.11 Form Perhitungan Apriori - Pemilihan Data Dari

    Database di Luar Sistem dan Preprosesing/Cleaning

    Data

    78

    4.12 Form Perhitungan Apriori - Pemilihan Data Dari

    Database di Luar Sistem dan Preprosesing/Cleaning

    Data

    79

    4.13 Form Perhitungan Apriori - Pencarian Pola Asosiasi

    Barang

    80

    4.14 Form Perhitungan Apriori - Menganalisa Aturan

    Asosiasi

    99

    4.15 Form Perhitungan Apriori - Pembacaan Grafik Support 100

    4.16 Form Perhitungan Apriori - Pembacaan Grafik

    Confidence

    101

  • xxiii

    DAFTAR TABEL

    Tabel Keterangan Halaman

    2.1 Tabel Data Transaksi AllElectronic 15

    2.2 Tabel Candidate Itemset C1 16

    2.3 Tabel Large 1-itemset L1 16

    2.4 Tabel Candidate Itemset C2 17

    2.5 Tabel Large 2-temset L2 17

    2.6 Tabel Candidate Itemset C3 18

    2.7 Tabel Large 3-itemset L3 18

    2.8 Tabel Hasil Aturan Asosiasi 19

    3.1 Tabel Barang 52

    3.2 Tabel Transaksi 53

    3.3 Tabel Cleaning 53

    3.4 Table Rule 53

    3.5 Tabel Largeitem 54

    3.6 Tabel Candidate 54

    3.7 Tabel Staff 55

    3.8 Tabel Login 55

    5.1 Tabel Pengujian 1 102

    5.2 Tabel Pengujian 2 103

    5.3 Tabel Pengujian 3 104

    5.4 Tabel Pengujian 4 105

  • xxiv

    DAFTAR RUMUS

    Rumus Keterangan Halaman

    2.1 Nilai Support )( BA⇒ 12

    2.2 Nilai Confidence )( BA⇒ 12

  • 1

    BAB I

    PENDAHULUAN

    1.1. Latar Belakang Masalah

    Dewasa ini teknologi informasi berkembang pesat seiring dengan

    peningkatan kebutuhan pengolahan data untuk memperoleh informasi yang lebih

    berguna. Penelitian dari berbagai disiplin ilmu dilakukan untuk menemukan

    metode dalam rangka memenuhi kebutuhan tersebut. Salah satu cabang ilmu

    teknologi informasi yang dikembangkan sebagai metode adalah data mining. Data

    mining merupakan ilmu yang mempelajari tentang penggalian pengetahuan baru

    dari suatu data di dalam database agar lebih bermanfaat. Dalam cakupannya data

    mining memiliki keterkaitan dengan berbagai disiplin ilmu yang lain, seperti

    statistik, Artificial Intellegence (AI), dan pengolahan citra gambar. Sehingga dapat

    diterapkan di berbagai bidang yang menggunakan peran teknologi informasi

    sebagai pendukungnya. Beberapa penerapan tersebut diantaranya adalah untuk

    analisa dibidang pemasaran, telekomunikasi, asuransi, keuangan, astronomi,

    kedokteran, dan lain-lain.

    Salah satu penerapan data mining dalam analisa pemasaran adalah untuk

    analisa keranjang belanja (Market Basket Analysis) pada suatu pasar. Sebagai

    contoh adalah pada sebuah toko swalayan. Dari sekian banyak transaksi penjualan

    pada toko swalayan akan mengandung data penjualan barang dengan pola yang

    berbeda. Di dalam database data transaksi tersebut

  • 2

    ukurannya bisa mencapai ribuan bahkan jutaan byte dan biasanya data transaksi

    tersebut hanya dibiarkan menumpuk begitu saja sebagai data yang tidak berguna.

    Maka dari itu perlu adanya suatu cara untuk memanfaatkan data transaksi tersebut

    agar lebih berguna. Salah satu cara yang bisa digunakan untuk pemanfaatan data

    transaksi tersebut adalah dengan menerapkan konsep data mining. Data mining

    digunakan untuk menganalisa pola penjualan barang dari data transaksi penjualan

    sehingga akan diperoleh suatu pengetahuan baru mengenai pola asosiasi penjualan

    suatu barang dengan barang lain. Atau dapat dijelaskan sebagai cara untuk

    mengetahui hubungan barang apa saja yang dibeli pelanggan secara bersamaan

    dalam sekian banyak transaksi. Hal ini merupakan pengetahuan yang bermanfaat

    bagi pemilik toko swalayan untuk mengatur strategi penjualan barang di tokonya,

    yang tidak lain adalah sebagai pendukung keputusan untuk pengembangan usaha.

    Pada penelitian analisa keranjang belanja yang telah dilakukan, digunakan

    teknik Association Rules dengan algoritma FP Growth1. Hasil yang diperoleh

    berupa pengetahuan mengenai hubungan antara penjualan suatu barang dengan

    barang lain untuk rekomendasi pembeli dan penjual pada suatu situs e-commerce.

    Maka pada tugas akhir ini akan dilakukan penelitian analisa keranjang belanja

    menggunakan teknik Association Rules dengan algoritma Apriori yang

    diaplikasikan pada sebuah sistem pencarian pola asosiasi barang. Hasil penelitian

    diharapkan dapat memberikan pengetahuan kepada pemilik toko swalayan untuk

    mengatur strategi penjualan.

    1I Gede Sudiadiarta, Market Basket Analysis Menggunakan Algoritma Frequent Pattern Growth (FP-Growth) Untuk Situs E-Commerce: Universitas Sanata Dharma Yogyakarta, Skripsi, 2006.

  • 3

    1.2. Rumusan Masalah

    Bagaimana menerapkan algoritma Apriori pada data mining untuk analisa

    data transaksi penjualan sehingga dapat diketahui pola asosiasi penjualan suatu

    barang terhadap barang lain?

    1.3. Batasan Masalah

    Batasan masalah pada tugas akhir ini adalah sebagai berikut :

    1. Proses analisa data dilakukan berdasarkan data transaksi secara keseluruhan

    atau periodik untuk data dari database sistem dan secara keseluruhan untuk

    data dari database di luar sistem dengan menggunakan database MySQL.

    2. Sistem tidak menangani data dalam bentuk file, misal file Microsoft Office

    Excel (*.xls) atau file dalam format Comma Separated Values (*.csv).

    3. Hasil analisa berupa pengetahuan pola asosiasi penjualan antar barang yang

    disajikan dalam bentuk file cetak, grafik, dan tabel.

    4. Proses pencarian kandidat itemset dibatasi sampai dengan kombinasi 10

    barang.

    5. Proses pencarian pola asosiasi dibatasi untuk kombinasi 2 barang yaitu

    asosiasi BA⇒ dan kombiasi 3 barang yaitu asosiasi CAB⇒ .

  • 4

    1.4. Tujuan Penelitian

    Penelitian dalam Tugas Akhir ini memiliki tujuan, yaitu menerapkan

    algoritma Apriori sebagai metode pada data mining untuk menganalisa data

    transaksi penjualan, sehingga dapat diperoleh pengetahuan mengenai hubungan

    penjualan suatu barang dengan barang lain.

    1.5. Manfaat Penelitian

    Manfaat dari penelitian ini lebih difokuskan bagi pemilik swalayan.

    Adapun manfaat tersebut adalah sebagai berikut :

    1. Memperoleh pengetahuan mengenai hubungan penjualan suatu barang

    terhadap barang lain dari transaksi penjualan.

    2. Dari pengetahuan tersebut, pemilik swalayan dapat mengatur strategi

    penjualan tentang barang-barang yang terjual bersamaan dalam beberapa

    transaksi.

    1.6. Metodologi Penelitian

    Metodologi penelitian yang digunakan untuk membuat aplikasi ini adalah :

    1. Menerapkan metodologi pemrograman berorientasi objek dalam

    pengembangan sistem.

    2. Menerapkan metode data mining, yaitu :

    a. Menyiapkan suatu set target data transaksi penjualan yang akan dikenai

    proses knowledge discovery.

  • 5

    b. Melakukan data cleaning and preprocessing, yaitu dengan cara

    merestrukturisasi field yang tidak sesuai dengan target data.

    c. Mengubah data menjadi bentuk yang sesuai untuk di-mining, atau disebut

    juga dengan transformasi data.

    d. Mengaplikasikan teknik data mining, berupa pencarian hubungan

    penjualan suatu barang dengan barang lain menggunakan algoritma

    Apriori.

    e. Mengevaluasi pola yang ditemukan dari hasil aplikasi teknik data mining

    untuk menemukan pengetahuan yang bermanfaat.

    f. Melakukan presentasi pengetahuan yang didapatkan.

    1.7. Sistematika Penulisan

    BAB I PENDAHULUAN

    Bab ini menjelaskan latar belakang masalah, rumusan masalah,

    batasan masalah, tujuan penelitian, manfaat penelitian, serta

    sistematika penulisan laporan dari penelitian yang akan dilakukan.

    BAB II LANDASAN TEORI

    Bab ini berisi penjelasan tentang teori-teori yang digunakan untuk

    memecahkan masalah yang akan diteliti.

    BAB III ANALISIS DAN PERANCANGAN SISTEM

    Bab ini membahas mengenai analisis dan perancangan sistem yang

    akan dikerjakan dalam penelitian.

  • 6

    BAB IV IMPLEMENTASI SISTEM

    Bab ini berisi penjelasan mengenai implementasi sistem sesuai

    dengan analisis dan rancangan sistem ke dalam bentuk program.

    BAB V ANALISIS HASIL IMPLEMENTASI

    Bab ini merupakan analisis dari implementasi sistem yang telah

    dibuat.

    BAB VI PENUTUP

    Bab ini berisi kesimpulan yang diperoleh dari penelitian yang

    dikerjakan, serta saran untuk pengembangan sistem lebih lanjut.

  • 7

    BAB II

    LANDASAN TEORI

    2.1. Data Mining

    Data mining atau sering disebut sebagai Knowledge Discovery in

    Database (KDD) didefinisikan sebagai suatu proses nontrivial untuk

    mengidentifikasi keabsahan, potensi bermanfaat, dan pola akhir yang dapat

    dimengerti dari data2. Data mining adalah proses secara otomatis untuk

    menemukan informasi yang bermanfaat di dalam gudang data yang besar3.

    Dari pengertian tersebut data mining mempunyai tujuan untuk

    memperoleh pengetahuan baru yang lebih berarti dari proses penggalian data yang

    tersimpan didalam database. Secara umum data mining mempunyai 2 tujuan,

    yaitu :

    1. Deskriptif

    Data mining dilakukan untuk mencari pola-pola yang dapat dipahami manusia

    yang menjelaskan karakteristik data. Beberapa metode yang digunakan untuk

    tujuan ini adalah :

    1.1. Association Rules

    Metode untuk mencari pola asosiasi yang sering muncul dalam data.

    Teknik yang digunakan misalnya algoritma Apriori dan FP-Growth.

    2 Fayyad, U. M., G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy, editor, Advances in Knowledge Discovery and Data Mining, MIT Press, Menlo Park, CA, 1996. http://www2.cs.uregina.ca/~dbd/cs831/notes/kdd/ - akses terakhir tanggal 23 Oktober 2008, 23:35. 3 Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining. Boston : Pearson Addison Wesley, 2006.

  • 8

    1.2. Summarization

    Metode untuk memetakan data ke dalam subset yang lebih ringkas dari

    keseluruhan atau sebagian data.

    1.3. Clustering

    Proses untuk mengelompokkan data ke dalam sebuah cluster berdasarkan

    kemiripannya. Prinsipnya adalah memaksimalkan kemiripan dalam sebuah

    cluster, dan meminimalisasikan kemiripan antar cluster. Beberapa teknik

    yang digunakan misalnya k-means, k-medoids.

    2. Prediktif

    Data mining dilakukan untuk membentuk sebuah model pengetahuan yang

    akan digunakan untuk melakukan prediksi. Adapun metode yang digunakan

    adalah sebagai berikut :

    2.1. Classification

    Classification adalah proses untuk menemukan model atau fungsi yang

    menjelaskan atau membedakan konsep atau kelas data, dengan tujuan

    untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak

    diketahui. Beberapa teknik yang termasuk dalam metode ini antara lain

    Decission Tree, Neural Network, Bayesian Network, dan k-nearest

    Neighbour.

    2.2. Regression

    Merupakan proses memetakan data item menjadi sebuah angka nyata (real

    value) dari nilai variabel prediksi.

  • 9

    2.2. Proses Data Mining

    Data mining mengacu pada aplikasi algoritma untuk mendapatkan pola

    dari data tanpa langkah-langkah tambahan dalam proses KDD. Proses KDD

    diilustrasikan pada gambar 2.1 berikut4:

    Gambar 2.1. Proses KDD

    Proses KDD pada gambar 2.1 dapat dijelaskan sebagai berikut :

    1. Mengembangkan pemahaman mengenai aplikasi yang menyangkut

    pengetahuan terlebih dahulu serta tujuan dari proses KDD bagi pengguna

    akhir.

    2. Menciptakan suatu set target data melalui pemilihan suatu data set, atau

    memusatkan pada suatu subset variabel, atau contoh data, dimana proses

    penemuan dilakukan.

    4 Fayyad, U. M., G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy, editor, Advances in Knowledge Discovery and Data Mining, MIT Press, Menlo Park, CA, 1996. http://www2.cs.uregina.ca/~dbd/cs831/notes/kdd/ - akses terakhir tanggal 17 Oktober 2008, 23:35.

  • 10

    3. Data cleaning and preprocessing merupakan proses untuk menghilangkan

    noise, mengumpulkan informasi yang dibutuhkan untuk pemodelan atau

    perhitungan bagi noise, menentukan strategi untuk menangani field data yang

    hilang, dan menghitung informasi berdasarkan urutan waktu dan perubahan

    yang ditemukan.

    4. Data reduction and projection adalah proses menemukan corak yang

    bermanfaat untuk menyajikan data yang sesuai dengan tujuan dari tugas. Serta

    menggunakan pengurangan dimensi atau perubahan bentuk metode untuk

    mengurangi jumlah variabel yang efektif atau untuk menemukan penyajian

    yang sama dari data dalam pembahasan.

    5. Menganalisa task data mining untuk memutuskan tujuan dari proses KDD,

    apakah itu berupa classification, regression, clustering, atau task lainnya.

    6. Memilih algoritma data mining melalui pemilihan metode untuk digunakan

    dalam mencari pola dari data, memutuskan parameter dan model yang sesuai,

    serta mencocokan metode khusus dari data mining dengan keseluruhan proses

    KDD.

    7. Melakukan data mining itu sendiri, yaitu mencari pola yang sesuai dari bentuk

    representasi tertentu atau suatu set representasi tersebut, seperti association

    rules, regression, clustering, dan sebagainya.

    8. Menafsirkan pola yang didapatkan dari penggalian data, juga dapat melibatkan

    visualisasi dari pola yang sudah digali dan pemodelan atau visualisasi dari

    data yang berasal dari model-model yang sudah digali.

  • 11

    9. Penerapan dari pengetahuan yang ditemukan, baik itu dengan menggunakan

    pengetahuan secara langsung, menggabungkan pengetahuan tersebut ke dalam

    sistem yang lain untuk langkah lebih lanjut, atau melakukan dokumentasi

    sederhana dan membuat laporan untuk pihak yang tertarik.

    Meskipun demikian, proses KDD tersebut tidak selalu digunakan sepenuhnya

    pada penerapannya. Hal tersebut lebih disesuaikan pada kebutuhan aplikasi dan

    karakteristik data.

    2.3. Association Rules

    Association Rules merupakan suatu metode data mining untuk mencari

    pola asosiasi yang sering muncul dalam data. Metode ini menjadi popular karena

    sering digunakan untuk menganalisa keranjang belanja (Market Basket Analysis).

    Aturan asosiasi yang terbentuk adalah sebuah implikasi atau “if-then-rule” yang

    didukung oleh data. Bentuk dasar dari aturan asosiasi adalah Β⇒Α .

    Didefinisikan jika A terjadi dalam transaksi, maka B pun terjadi dalam transaksi

    yang sama.

    Istilah penting dalam Association Rules yaitu :

    1. Item, Itemset, dan k-Itemset

    Sebuah nilai atribut disebut dengan item, sedangkan kumpulan dari beberapa

    item disebut dengan itemset. k-Itemset merupakan itemset yang berisi k item.

    2. Support

    Merupakan persentasi dari transaksi yang mengandung seluruh itemset.

  • 12

    tuplenkeseluruhajumlah

    BdanAmengandungyangtuplejumlahBASupport

    __

    ______)( =⇒

    .............. Rumus 2.1 Nilai Support )( BA⇒

    3. Confidence.

    Confidence merupakan persentasi banyaknya A pada transaksi yang

    mengandung B.

    Amengandungyangtuplejumlah

    BdanAmengandungyangtuplejumlahBAConfidence

    ____

    ______)( =⇒

    ………. Rumus 2.2 Nilai Confidence )( BA⇒

    Support dan confidence merupakan parameter yang digunakan untuk

    mengukur aturan asosiasi. Sehingga aturan asosiasi dapat diperoleh dari itemset

    yang mempunyai support dan confidence lebih besar dari minimum support

    (disebut minsup) dan minimum confidence (disebut minconf).

    Permasalahan mendasar dalam Association Rules dibagi menjadi dua,

    yaitu5:

    1. Menemukan seluruh itemset yang memiliki support >= minsup.

    Itemset yang memilki support lebih besar atau sama dengan minsup disebut

    dengan large itemset (l-itemset), sedangkan itemset yang memiliki support

    lebih kecil dari minimum support disebut dengan small itemset.

    2. Menggunakan large itemset untuk menghasilkan aturan asosiasi yang

    diinginkan. 5 Rakesh Agrawal and Ramakrishnan Srikant, Fast Algorithms for Mining Association Rules : Article, IBM Almaden Research Center, 1996. http://rakesh.agrawal-family.com/papers/vldb94apriori.pdf - akses terakhir tanggal 17 Oktober 2008, 23:19.

  • 13

    Untuk setiap large itemset l, harus dapat ditemukan seluruh subset yang tidak

    kosong dari l. Untuk setiap subset a, akan memperoleh keluaran sebuah aturan

    dalam bentuk )( ala −⇒ , jika perbandingan aSupport

    lSupport

    _

    _ paling sedikit lebih

    besar dari minconf.

    Algoritma yang digunakan dalam teknik Association Rules antara lain:

    1. Apriori

    Algoritma ini mencari frequent itemset dari database transaksi melalui

    beberapa tahap iterasi.

    2. Frequent Pattern Growth (FP Growth)

    Berbeda dengan Apriori, algoritma FP Growth tidak perlu melakukan

    pencarian kandidat. Data direpresentasikan menggunakan Frequent Patttern

    Tree melalui pendekatan devide and conquer untuk memperoleh frequent

    itemset.

    2.4. Algoritma Apriori

    Secara umum kinerja dari algoritma ini adalah mencari frequent itemset

    dari database transaksi melalui beberapa tahap iterasi6. Prinsipnya adalah jika

    sebuah itemset infrequent, maka itemset yang infrequent tidak perlu lagi dicari

    6 Sushmita Mitra and Tinku Acharya, Data Mining : Multimedia, Soft Computing, and Bioinformatics. Hoboken, New Jersey : John Wiley and Sons, inc., 2003.

  • 14

    superset-nya sehingga jumlah kandidat yang harus diperiksa menjadi berkurang.

    Berikut adalah algoritma Apriori7:

    1) L1={large 1-itemset} 2) For {k=2;Lk-1≠0;k++}do begin 3) Ck = apriori-gen(Lk-1);//new candidate 4) Forall transaction t ∈D do begin 5) Ct = subset(Ck,t);//candidate contained in t 6) Forall candidates c ∈ Ct do 7) c.count ++; 8) End 9) Lk = {c ∈ Ct | c.count ≥ minsup) 10) End 11) Answer = Υ k Lk;

    Langkah pertama algoritma ini adalah menghitung kejadian item untuk

    menentukan large 1-itemset atau frequent itemset kemudian disimpan pada L1.

    Langkah berikutnya untuk large itemset sebesar Lk-1 terdiri dari (k-1) langkah

    yang digunakan untuk menghasilkan kandidat itemset Ck menggunakan fungsi

    Apriori-gen8. Adapun fungsi Apriori-gen terdiri dari 2 tahap yaitu penggabungan

    Lk-1 (Lk-1 p) dengan Lk-1 (Lk-1 q) dan penghapusan kandidat itemset yang tidak

    terdapat pada Lk-1. Algoritma untuk melakukan penggabungan Lk-1 (Lk-1 p) dengan

    Lk-1 (Lk-1 q) adalah sebagai sebagi berikut :

    1) insert into Ck 2) select p.itemI, q.item1, . . . , p.itemk-1, q.itemk-1 3) from Lk-1 p, Lk-1q 4) where p.item1 = q.item1, . . . p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1;

    7 Rakesh Agrawal and Ramakrishnan Srikant, Fast Algorithms for Mining Association Rules : Article, IBM Almaden Research Center, 1996. http://rakesh.agrawal-family.com/papers/vldb94apriori.pdf - akses terakhir tanggal 17 Oktober 2008, 23:19. 8 Rakesh Agrawal and Ramakrishnan Srikant, Fast Algorithms for Mining Association Rules : Article, IBM Almaden Research Center, 1996. http://rakesh.agrawal-family.com/papers/vldb94apriori.pdf - akses terakhir tanggal 17 Oktober 2008, 23:19.

  • 15

    Kemudian dicari semua subset (k-1) dari semua kandidat itemset pada Ck

    dan menghapus beberapa (k-1)-subset dari kandidat itemset pada Ck yang tidak

    termasuk dalam Lk-1. Tahap penghapusan atau disebut juga prune step

    menggunakan algoritma sebagai berikut :

    1) forall itemsets c ∈Ck do 2) forall (k-1)-subsets s of c do 3) if (s ∉Lk-1) then 4) delete c from Ck;

    Selanjutnya dilakukan scan database untuk menghasilkan kandidat Ck yang

    memenuhi syarat support dan hasilnya disimpan pada Lk. Sehingga hanya

    kandidat itemset yang memenuhi support yang akan diolah pada proses

    selanjutnya. Demikian langkah pencarian kandidat dilakukan melalui iterasi

    hingga tidak mungkin lagi diperoleh kandidat baru. Kemudian untuk memperoleh

    aturan asosiasinya digunakan syarat confidence seperti pada rumus 2.2 diatas.

    Untuk lebih jelasnya berikut ini merupakan contoh penerapan algoritma

    Apriori untuk pencarian Association Rules. Sebagai contoh terdapat data transaksi

    AllElectronic9 seperti pada tabel 2.1 dibawah ini.

    9 Han, Jiawei and Micheline Kamber, Data Mining : Concepts and Techniques. San Francisco : Morgan Kaufman Publisher, 2001. (Halaman : 232)

  • 16

    Tabel 2.1 Data Transaksi AllElectronic

    TID List_Item

    T100 I1, I2, I5

    T200 I2, I4

    T300 I2, I3

    T400 I1, I2, I4

    T500 I1, I3

    T600 I2, I3

    T700 I1, I3

    T800 I1, I2, I3, I5

    T900 I1, I2, I3

    Dari tabel data transaksi tersebut akan dicari pola asosiasi dengan minsup 22%

    (kemunculan 2 dari 9 transaksi). Maka penyelesaian dengan menggunakan

    algoritma Apriori adalah sebagai berikut :

    Langkah pertama menentukan C1={candidate 1-Itemset} dengan scan database.

    Hasil pembentukan C1 disajikan pada tabel 2.2 berikut :

    Tabel 2.2 Candidate Itemset C1

    Itemset Sup.Count

    {I1} 6

    {I2} 7

    {I3} 7

    {I4} 2

    {I5} 2

    Kemudian membandingkan candidate support count dengan nilai minsup untuk

    memperoleh large 1-itemset atau disebut L1. C1 yang memenuhi minsup

    selanjutnya disimpan dalam L1 seperti pada tabel 2.3 dibawah.

  • 17

    Tabel 2.3 Large 1-itemset L1

    Itemset Sup.Count

    {I1} 6

    {I2} 7

    {I3} 7

    {I4} 2

    {I5} 2

    Langkah selanjutnya adalah implementasi dari algoritma Apriori-gen,

    yaitu menggabungkan masing-masing itemset pada L1 dengan itemset pada L1

    untuk menghasilkan candidate itemset C2. Hasil dari penggabungan tersebut

    disajikan pada tabel 2.4 Candidate Itemset C2 dibawah ini.

    Tabel 2.4 Candidate Itemset C2

    Itemset Sup.Count

    {I1, I2} 4

    {I1, I3} 4

    {I1, I4} 1

    {I1, I5} 2

    {I2, I3} 4

    {I2, I4} 2

    {I2, I5} 2

    {I3, I4} 0

    {I3, I5} 1

    {I4, I5} 0

    Setelah C2 terbentuk, kemudian dilakukan perbandingan nilai candidate support

    count dengan nilai minsup. Hasilnya berupa Large 2-itemset L2 seperti pada tabel

    2.5 dibawah ini.

  • 18

    Tabel 2.5 Large 2-temset L2

    Itemset Sup.Count

    {I1, I2} 4

    {I1, I3} 4

    {I1, I5} 2

    {I2, I3} 4

    {I2, I4} 2

    {I2, I5} 2

    Pada langkah selanjutnya dilakukan penggabungan masing-masing itemset

    pada L2 dengan itemset pada L2 untuk menghasilkan candidate itemset C3. Hasil

    dari penggabungan tersebut disajikan pada tabel 2.6 Candidate Itemset C3

    dibawah ini

    Tabel 2.6 Candidate Itemset C3

    Itemset Sup.Count

    {I1, I2, I3} 2

    {I1, I2, I5} 2

    Seperti langkah sebelumnya, setelah candidate itemset C3 terbentuk, maka

    dilakukan perbandingan nilai candidate support count dengan nilai minsup yang

    menghasilkan Large 3-itemset L3 seperti disajikan pada tabel 2.7 dibawah ini.

    Tabel 2.7 Large 3-itemset L3

    Itemset Sup.Count

    {I1, I2, I3} 2

    {I1, I2, I5} 2

    Langkah selanjutnya adalah penggabungan masing-masing itemset pada

    L3 dengan itemset pada L3 untuk menghasilkan candidate itemset C4. Hasil yang

    diperoleh adalah {I1, I2, I3, I5} yang mempunyai candidate support count = 1.

  • 19

    Karena nilai candidate support count lebih kecil dari 2, maka pembentukan

    frequent itemset dihentikan.

    Untuk mencari aturan asosiasi digunakan nilai confidence, yaitu dengan

    menghitung nilai )(

    )(

    ASupport

    BASupport ∪. Asosiasi yang akan dibentuk berasal dari

    Large 3-itemset L3 atau dengan kata lain berasal dari large itemset Lk terbanyak.

    Misal diberikan nilai minconf sebesar 70%, maka hasil aturan asosiasi yang

    mungkin terbentuk dari large 3-itemset {I1, I2, I5} adalah seperti disajikan dalam

    tabel 2.8 dibawah ini.

    Tabel 2.8 Hasil Aturan Asosiasi

    Aturan Assosiasi )( BA⇒ Support )( BA ∪ Support )(A Confidence

    I1 ^ I2 ⇒ I5 2 4 50%

    I1 ^ I5 ⇒ I2 2 2 100%

    I2 ^ I5 ⇒ I1 2 2 100%

    I1 ⇒ I2 ^ I5 2 6 33%

    I2 ⇒ I1 ^ I5 2 7 29%

    I5 ⇒ I1 ^ I2 2 2 100%

  • 20

    BAB III

    ANALISIS DAN PERANCANGAN SISTEM

    2.2. Analisis Sistem

    Tahap analisis sistem merupakan tahap penyelesaian masalah (problem

    solving) dengan cara membagi sistem ke dalam bagian dari komponennya dengan

    tujuan agar bagian dari komponen tersebut dapat bekerja dan berinteraksi dengan

    baik untuk melengkapi tujuan sistem.

    3.1.1. Gambaran Umum Sistem

    Gambaran umum sistem yang akan dibuat adalah sistem yang dapat

    menangani pencatatan transaksi penjualan, manipulasi data barang, manipulasi

    data user, dan menangani data transaksi penjualan, serta sistem untuk melakukan

    proses data mining dari data transaksi penjualan sebagai tujuan utama sistem.

    Adapun user yang terlibat dalam sistem ini terdiri dari kasir dan admin. Maka dari

    itu sistem akan dibagi menjadi 2 bagian, yaitu sistem kasir yang menangani

    pencatatan transaksi penjualan dan sistem admin yang menangani manipulasi

    data barang, data user, data transaksi, dan pencarian pola asosiasi dengan metode

    data mining.

    Alur kerja sistem dapat dijelaskan sebagai berikut:

    1. Sistem Kasir

    Kasir login ke dalam sistem. Jika login berhasil, maka sistem akan

    menampilkan form kasir. Selanjutnya kasir memilih menu transaksi untuk masuk

  • 21

    ke dalam form transaksi. Kasir dapat melakukan pencatatan transaksi penjualan

    barang melalui form transaksi dan menyimpan data transaksi tersebut ke dalam

    database.

    2. Sistem Admin

    Admin login ke dalam sistem. Jika login berhasil, maka sistem akan

    menampilkan form yang berisi menu-menu yang disediakan untuk admin. Admin

    dapat melakukan manipulasi data user, data barang, dan data transaksi, serta

    melakukan proses pencarian asosiasi barang. Pada menu user, admin dapat

    melakukan penambahan, pengubahan, dan penghapusan data user. Selanjutnya

    admin dapat melakukan penambahan, pengubahan, dan penghapusan data barang.

    Pada menu daftar transaksi, admin dapat menampilkan data transaksi yang

    tersimpan di dalam database secara keseluruhan maupun secara periodik.

    Selanjutnya dapat mencetak data transaksi yang ditampikan ke bentuk file cetak.

    Admin dapat melakukan pencarian pola asosiasi barang dengan masuk ke

    dalam menu pencarian asosiasi. Pada menu ini terdapat beberapa langkah yang

    dikerjakan. Pertama, admin mengambil data transaksi dari tabel transaksi di dalam

    database sistem atau mengambil data transaksi dari tabel di luar database sistem.

    Langkah selanjutnya adalah melakukan preprosesing terhadap data, jika

    diperlukan, dan melakukan proses cleaning data sehingga diperoleh data yang

    sesuai untuk di proses pada pencarian pola asosiasi barang, disebut dengan data

    cleaning. Dari data cleaning tersebut, maka dapat dilakukan proses pencarian pola

    asosiasi barang dengan memasukkan nilai minsup dan minconf.

  • 22

    Pada BAB II Landasan Teori telah disebutkan mengenai proses KDD yang

    terdiri dari beberapa tahap. Adapun analisis dari proses KDD tersebut pada

    penerapan pencarian pola asosiasi barang didalam penelitian ini adalah sebagai

    berikut :

    10. Mempelajari kebutuhan untuk menerapkan data mining dalam penggalian

    pengetahuan mengenai hubungan penjualan antar barang di swalayan.

    11. Memilih data yang akan digunakan dalam proses penggalian pengetahuan

    tersebut. Data yang dimaksud adalah data yang mengandung field nomor

    transaksi/faktur/nota dan field nama barang, yaitu berupa data transaksi

    penjualan.

    12. Mengubah data transaksi penjualan menjadi bentuk data yang sesuai dengan

    kebutuhan sistem.

    13. Dari data transaksi penjualan tersebut digunakan algoritma Apriori dengan

    teknik Association Rules untuk menemukan pola asosiasi penjualan antar

    barang.

    14. Selanjutnya dilakukan proses pencarian pola asosiasi penjualan antar barang

    dengan menggunakan algoritma Apriori . Langkah-langkah yang dikerjakan

    adalah sebagai berikut :

    a. Memasukkan nilai minsup dan minconf sebagai syarat dari nilai asosiasi

    barang yang akan dicari.

    b. Melakukan pembentukan kandidat k-itemset (Ck) dan large k-itemset (Lk).

    Tahap awal adalah pembentukan kandidat 1-itemset (C1) dan large 1-

    itemset (L1) dengan melakukan kueri berdasarkan nilai support. Jika

  • 23

    diperoleh C1 >= minsup, maka kandidat tersebut dimasukkan ke dalam

    tabel largeitemset. Jika tidak diperoleh hasil, maka proses pencarian

    dihentikan. Pada tahap selanjutnya proses tersebut dilakukan dengan

    menaikkan nilai k menjadi k+1. Sebagai contoh, jika diperoleh hasil C1 >=

    minsup, maka C1 yang memenuhi syarat tersebut dimasukkan ke dalam

    tabel largeitemset dan menaikkan nilai k menjadi k+1 untuk pembentukan

    C2 dan L2. Demikian proses tersebut dilakukan sampai tidak ditemukan

    lagi kandidat yang memenuhi syarat Ck >= minsup.

    c. Setelah diperoleh large k-itemset (Lk), kemudian diambil nilai Lk tertinggi

    dari tabel largeitemset. Dari Lk yang diambil tersebut, dilakukan analisa

    dengan menerapkan aturan asosiasi sesuai dengan rumus confidence. Hasil

    dari analisa tersebut adalah nilai support dan confidence dari asosiasi

    barang yang memenuhi syarat lebih besar atau sama dengan minsup dan

    minconf.

    15. Setelah ditemukan pola asosiasi penjualan antar barang, maka dari

    pengetahuan tersebut dapat digunakan untuk mengatur strategi penjualan

    barang oleh pemilik swalayan.

  • 24

    3.1.2. Use Case Diagram

    Use case diagram sistem disajikan seperti pada gambar 3.1 dibawah ini.

    Mengedit data barang

    Menambah data barang

    Menghapus data barang

    logout

    Mengedit data user

    Menambah data user

    Menghapus data user

    Admin

    login

    Mencatat data transaksiKasir logout

    Mencetak data user Mencetak data barang

    Melakukan pencarian pola asosiasi barang

    Mencetak data asosiasi barang

    Melihat data transaksi

    Mencetak data transaksi

    Gambar 3.1 Use Case Diagram

    3.1.3. Class Diagram

    Asosiasiid_ruleid_barangnama_barangconfidencesupport

    createCandidate()createRule()

    Barangid_barangnama_barangjumlah_stockharga_beliharga_jual

    tambah_barang()edit_barang()hapus_barang()cetak_data_barang()

    1..*1..* 1..*1..*

    punya

    Cleaningid_notaid_barangnama_barang

    insertCleaning()

    1

    1..*

    1

    1..*

    hasil

    Loginid_loginnikjabatanusernamepassword

    login()batal_login()

    Usernikusernamepasswordjabatannamaalamatno_telepon

    tambah_user()edit_user()hapus_user()cetak_data_user()

    1

    1

    1

    1

    lakukan

    Transaksiid_notaid_barangniknama_barangjumlahtotal_hargatanggal

    tambah_transaksi()edit_transaksi()hapus_transaksi()cetak_data_transaksi()

    1..*

    1

    1..*

    1

    punya

    11..* 11..*

    hasil

    1..*1

    catat

    1..*1

    Gambar 3.2 Class Diagram

  • 25

    3.1.4. Activity Diagram

    3.1.4.1. Activity Diagram Sistem Kasir

    3.1.4.1.1. Activity Diagram Login Kasir

    Mulai

    Verifikasi Usename dan Password

    Memasukkan Username dan Password

    Tampilan Form Login

    Tampilan Halaman Form Kasir

    Selesai

    ( salah )

    ( benar )

    Gambar 3.3 Activity Diagram Login Kasir

  • 26

    3.1.4.1.2. Activity Diagram Mencatat Data Transaksi

    Tampilan Pesan ID Barang Salah

    Mulai

    Memasukkan ID Barang

    Menekan tombol OK

    Tampilan perubahan tabel, jumlah pembayaran

    Selesai

    ID Barang Benar?

    ( tidak )

    Memasukkan jumlah barang

    Mengubah jumlah data barang

    ID Barang sudah ada didalam tabel?

    (tidak)

    (ada)

    ( benar )

    Menekan tombol ubah

    Menekan tombol hapus

    Menghapus data barang(ada)

    Menekan tombol tambah

    Uang yang dibayarkan lebih besar atau sama dengan jumlah uang total transaksi?

    Mengubah jumlah uang yang

    Menambah, mengubah atau menghapus data barang lagi? (ya)

    Memasukkan nilai jumlah uang yang dibayarkan

    (tidak)

    Tampilan pesan jumlah uang yang dibayarkan kurang

    (ya)

    (tidak)

    Gambar 3.4 Activity Diagram Mencatat Data Transaksi

  • 27

    3.1.4.1.3. Activity Diagram Logout Kasir

    Mulai

    Selesai

    Menekan Tombol Logout

    Keluar Dari Sistem

    Konfirmasi Logout

    Tampilan Halaman Sistem

    Selesai

    ( ya )

    ( tidak )

    Gambar 3.5 Activity Diagram Logout Kasir

    3.1.4.2. Activity Diagram Sistem Admin

    3.1.4.2.1. Activity Diagram Login Admin

    Mulai

    Memasukkan Username dan Password

    Tampilan Form Login

    Tampilan Halaman Menu Admin

    Selesai

    Verifikasi Usename dan Password

    (benar)

    ( salah )

    Gambar 3.6 Activity Diagram Login Admin

  • 28

    3.1.4.2.2. Activity Diagram Menambah Data Barang

    Mulai

    Selesai

    Memilih Menu Daftar Barang

    Menekan tombol Tambah Barang

    Menyimpan Data Barang Baru

    Memasukkan Data Barang Baru

    ID Barang Sudah Ada?

    ( Belum )

    Tampilan Pesan ID Barang Sudah Ada ( Ada )

    Mengubah ID Barang

    Konfirmasi Menambah Data Barang

    ( ya )

    Membatalkan Menambah Data Barang( tidak )

    Selesai

    Gambar 3.7 Activity Diagram Menambah Data Barang

  • 29

    3.1.4.2.3. Activity Diagram Mengedit Data Barang

    Mulai

    Selesai

    Memilih Menu Daftar Barang

    Memasukkan ID Barang

    Mengedit Data Barang

    Menekan Tombol Edit

    Tampilan Pesan Data Tidak Lengkap

    Data Barang Sudah Lengkap?

    ( tidak )

    Menambah Kelengkapan Data

    Menyimpan Hasil Perubahan Data Barang

    ( ya )

    Membatalkan Mengedit Data Barang

    Konfirmasi Menyimpan Data Barang

    ( ya )

    ( tidak )

    Selesai

    ID Barang Ada?

    Tampilan Pesan ID Barang Salah

    ( ya )

    ( tidak )

    Gambar 3.8 Activity Diagram Mengedit Data Barang

  • 30

    3.1.4.2.4. Activity Diagram Menghapus Data Barang

    Mulai

    Selesai

    Memilih Menu Daftar Barang

    Konfirmasi Menghapus Data Barang

    Menghapus Data Barang

    Membatalkan Penghapusan Data Barang ( tidak )

    Selesai

    Menekan Tombol Hapus

    ( ya )

    Memasukkan ID Barang

    ID Barang Ada?

    Tampilan Pesan ID Barang Salah

    ( ya )

    ( tidak )

    Gambar 3.9 Activity Diagram Menghapus Data Barang

    3.1.4.2.5.Activity Diagram Mencetak Data Barang

    Mulai

    Selesai

    Menekan tombol cetak

    Memilih Menu Daftar Barang

    Gambar 3.10 Activity Diagram Mencetak Data Barang

  • 31

    3.1.4.2.6.Activity Diagram Menambah Data User

    Mulai

    Memilih menu User

    Memasukkan Data User

    Menekan Tombol Tambah

    Selesai

    Konfirmasi Menambah Data User

    ID User Sudah Ada?

    ( tidak )

    Menyimpan Data User Baru

    ( ya )

    Tampilan Pesan ID User Sudah Ada ( ya )

    Mengubah ID User

    Membatalkan Menambah Data User( tidak )

    Selesai

    Gambar 3.11 Activity Diagram Menambah Data User

  • 32

    3.1.4.2.7. Activity Diagram Mengedit Data User

    Mulai

    Memilih Menu User

    Memasukkan ID User

    Mengedit Data User

    Menekan Tombol Edit

    Selesai

    Tampilan Pesan ID User Salah

    ID User Ada?

    ( tidak )( ya )

    Konfirmasi Menyimpan Data User

    Data User Sudah Lengkap

    ( ya )

    Membatalkan Mengedit Data User( tidak )

    Menyimpan Perubahan Data User

    ( ya )

    Tampilan Pesan Data Tidak Lengkap ( tidak )

    Menambah Kelengkapan Data

    Selesai

    Gambar 3.12 Activity Diagram Mengedit Data User

  • 33

    3.1.4.2.8. Activity Diagram Menghapus Data User

    Mulai

    Menekan Tombol Hapus

    Selesai

    Konfirmasi Menghapus Data User

    Membatalkan Menghapus Data User

    Menghapus Data User

    Selesai

    Memilih Menu User

    Memasukkan ID User

    ID User Ada?

    Tampilan Pesan ID User Salah

    ( tidak )

    ( ya )

    tidak

    ya

    Gambar 3.13 Activity Diagram Menghapus Data User

    3.1.4.2.9. Activity Diagram Mencetak Data User

    Mulai

    Selesai

    Memilih menu user

    Menekan tombol cetak

    Gambar 3.14 Activity Diagram Mencetak Data User

  • 34

    3.1.4.2.10. Activity Diagram Melihat Data Transaksi

    Mulai

    Memilih Menu Transaksi

    Memasukkan Periode Transaksi yang akan Diambil Datanya

    Tampilan Data Transaksi

    Selesai

    Menekan tombol OK

    Gambar 3.15 Activity Diagram Melihat Data Transaksi

    3.1.4.2.11. Activity Diagram Mencetak Data Transaksi

    Mulai

    Selesai

    Memilih menu daftar transaksi

    Memilih periode data transaksi

    Menekan tombol cetak

    Menekan tombol OK

    Tampilan Data Transaksi

    Gambar 3.16 Activity Diagram Mencetak Data Transaksi

  • 35

    3.1.4.2.12. Activity Diagram Melakukan Pencarian Pola Asosiasi Barang

    Mulai

    Melakukan Proses Preprosesing dan Cleaning Data

    Memilih Menu Perhitungan Apriori

    Mengambil Data Transaksi yang akan Diproses

    Memasukkan Nilai Support dan Confidence

    Melakukan Proses Pencarian Pola Asosiasi Menggunakan Algoritma Apriori

    Selesai

    Cek data transaksi

    Ada

    Memperoleh Hasil Asosiasi

    Tampilan Pesan Data Tidak Ada

    Tidak

    Menganalisa Hasil Asosiasi

    Gambar 3.17 Activity Diagram Melakukan Pencarian Pola Asosiasi Barang

  • 36

    3.1.4.2.13. Activity Diagram Mencetak Data Asosiasi Barang

    Mulai

    Selesai

    Melakukan pencarian pola asosiasi barang

    Memperoleh hasil asosiasi barang

    Menekan tombol cetak

    Gambar 3.18 Activity Diagram Mencetak Data Asosiasi Barang

    3.1.4.2.14. Activity Diagram Logout Admin

    Mulai

    Selesai

    Menekan Tombol Logout

    Keluar Dari Sistem

    Konfirmasi Logout

    Tampilan Halaman Sistem

    Selesai

    ( ya )

    ( tidak )

    Gambar 3.19 Activity Diagram Logout Admin

  • 37

    3.1.5. Sequence Diagram

    3.1.5.1. Sequence Diagram Sistem Kasir

    3.1.5.1.1. Sequence Diagram Login Kasir

    : halamanTransaksiKasir : Kasir : halamanLogin : kontrolLogin : dataKasir

    masukkan username, password

    username, password

    cek username, password

    status username, password

    username, password benar

    username, password salah

    pesan username, password salah

    tampilan halaman sistem kasir

    Gambar 3.20 Sequence Diagram Login Kasir

  • 38

    3.1.5.1.2. Sequence Diagram Mencatat Data Transaksi

    : Kasir : halamanTransaksiKasir : kontrolDataBarang : dataBarang : kontrolDataTransaksi : dataTransaksi

    masukkan data barang

    data barang

    cek data barang

    data barang ada

    pesan data barang tidak ada

    menekan tombol tambah

    data barang

    queri menambah data barang ke data transaksi

    menekan tombol ubah

    data barang

    queri mengubah data barang di dalam data transaksi

    menekan tombol hapus

    data barang

    queri menghapus data barang di dalam data t ransaksi

    data transaksi bertambah

    data transaksi berubah

    data transaksi berkurang

    data barang tidak ada

    menampilkan data transaksi

    memasukkan nilai pembay aran

    menekan tombol OK

    data transaksi

    meny impan data transaksi

    data transaksi tersimpan

    tampilan f orm transaksi kosong

    Gambar 3.21 Sequence Diagram Mencatat Data Transaksi

  • 39

    3.1.5.1.3. Sequence Diagram Logout Kasir

    : Kasir : halamanSistemKasir : kontrolLogout

    menekan tombol logout

    menutup sistem

    mematikan koneksi

    Gambar 3.22 Sequence Diagram Logout Kasir

    3.1.5.2. Sequence Diagram Sistem Admin

    3.1.5.2.1. Sequence Diagram Login Admin

    : Admin : halamanLogin : kontrolLogin : dataAdmin : halamanSistemAdmin

    masukkan username, password

    username, password

    cek username, password

    status username, password

    username, password benar

    username, password salah

    pesan username, password salah

    tampilan halaman sistem admin

    Gambar 3.23 Sequence Diagram Login Admin

  • 40

    3.1.5.2.2. Sequence Diagram Menambah Data Barang

    : Admin : halamanMenuBarang : kontrolDataBarang : dataBarang

    masukkan data barang

    data barang

    queri menambah data barang

    data barang sudah ada

    pesan data barang sudah ada

    data barang belum ada

    data barang bertambah

    tampilan data barang pada tabel

    Gambar 3.24 Sequence Diagram Menambah Data Barang

  • 41

    3.1.5.2.3. Sequence Diagram Mengedit Data Barang

    : Admin : halamanMenuBarang : kontrolDataBarang : dataBarang

    masukkan id barang

    id barang

    queri data barang

    data barang tidak ada

    pesan data barang t idak ada

    data barang ada

    tampilan data barang pada f orm

    masukkan perubahan data barang

    data barang

    queri mengubah data barang

    data barang berubah

    tampilan data barang pada tabel

    Gambar 3.25 Sequence Diagram Mengedit Data Barang

  • 42

    3.1.5.2.4. Sequence Diagram Menghapus Data Barang

    : Admin : halamanMenuBarang : kontrolDataBarang : dataBarang

    masukkan id barang

    id barang

    queri data barang

    data barang tidak ada

    pesan data barang tidak ada

    data barang ada

    tampilan data barang pada f orm

    menghapus data barang

    data barang

    queri menghapus data barang

    data barang terhapus

    tampilan data barang pada tabel

    Gambar 3.26 Sequence Diagram Menghapus Data Barang

  • 43

    3.1.5.2.5. Sequence Diagram Mencetak Data Barang

    : Admin : halamanMenuBarang : kontrolDataBarang : dataBarang

    menekan tombol cetak

    data barang

    queri data barang

    prev iew data barang

    mencetak data barang

    Gambar 3.27 Sequence Diagram Mencetak Data Barang

  • 44

    3.1.5.2.6. Sequence Diagram Menambah Data User

    : Admin : halamanMenuUser : kontrolDataUser : dataUser

    masukkan data user

    data user

    queri menambah data user

    data user sudah ada

    data user belum ada

    pesan data user sudah ada

    tampilan data user pada tabel

    data user bertambah

    Gambar 3.28 Sequence Diagram Menambah Data User

  • 45

    3.1.5.2.7. Sequence Diagram Mengedit Data User

    : Admin : halamanMenuUser : kontrolDataUser : dataUsermasukkan id user

    id user

    queri data user

    data user tidak ada

    pesan data user tidak ada

    data user ada

    tampilan data user pada f orm

    masukkan perubahan data user

    data user

    queri mengubah data user

    data user berubah

    tampilan data user pada tabel

    Gambar 3.29 Sequence Diagram Mengedit Data User

  • 46

    3.1.5.2.8. Sequence Diagram Menghapus Data User

    : Admin : halamanMenuUser : kontrolDataUser : dataUser

    masukkan id user

    id user

    queri data user

    data user tidak ada

    pesan data user tidak ada

    data user ada

    tampilan data user pada f orm

    menghapus data user

    data user

    queri menghapus data user

    data user terhapus

    tampilan data user pada tabel

    Gambar 3.30 Sequence Diagram Menghapus Data User

  • 47

    3.1.5.2.9. Sequence Diagram Mencetak Data User

    : dataUser : Admin : halamanMenuUser : kontrolDataUser

    menekan tombol cetak

    data user

    queri data user

    preview data user

    mencetak data user

    Gambar 3.31 Sequence Diagram Mencetak Data User

  • 48

    3.1.5.2.10. Sequence Diagram Melihat Data Transaksi

    : Admin : halamanMenuTransaksi : kontrolDataTransaksi : dataTransaksi

    masukkan periode transaksi

    periode transaksi

    queri data transaksi berdasarkan periode

    data transaksi tidak ada

    pesan data transaksi tidak ada

    data transaksi ada

    tampilan data transaksi

    Gambar 3.32 Sequence Diagram Melihat Data Transaksi

  • 49

    3.1.5.2.11. Sequence Diagram Mencetak Data Transaksi

    : Admin : halamanMenuTransaksi : kontrolDataTransaksi : dataTransaksi

    masukkan periode transaksi

    periode transaksi

    queri data transaksi berdasarkan periode

    menekan tombol cetak

    data transaksi

    queri data transaksi untuk dicetak

    prev iew data transaksi

    mencetak data transaksi

    Gambar 3.33 Sequence Diagram Mencetak Data Transaksi

  • 50

    3.1.5.2.12. Sequence Diagram Melakukan Pencarian Pola Asosiasi Barang

    : halamanPemil ihanDatabase : Admin : halamanLangkahPencarian : kontrolDataTransaksi : dataTransaksi : dataCleaning : halamanCleaning : halamanPencarianAsosiasi : kontrolPencarianAsosiasi : dataAsosiasiBarang : kontrolDataCleaning

    menekan tombol lanjut

    memilih sumber database

    database data transaksi

    queri data transaksi

    data transaksi

    tampilan data transaksi

    menekan tombol cleaning

    data transaksi

    queri data transaksi

    data transaksi hasil cleaning

    data cleaning

    tampilan data cleaning pada tabel

    menekan tombol lanjut

    data cleaning

    masukkan minsup dan minconf

    menekan tombol hitung

    minsup dan minconf

    queri pembentukan pola asosiasi

    hasil pencarian asosiasi

    data asosiasi

    tampilan data asosiasi

    Gambar 3.34 Sequence Diagram Melakukan Pencarian Pola Asosiasi

  • 51

    3.1.5.2.13. Sequence Diagram Mencetak Data Asosiasi Barang

    : dataAsosiasiBarang : Admin : halamanPencarianAsosiasi : kontrolDataAsosiasi

    menekan tombol cetak

    data asosiasi barang

    queri data asosiasi barang

    prev iew data asosiasi barang

    mencetak data asosiasi barang

    Gambar 3.35 Sequence Diagram Mencetak Data Asosiasi Barang

    3.1.5.2.14. Sequence Diagram Logout Admin

    : Admin : halamanSistemAdmin : kontrolLogout

    menekan tombol logout

    menutup sistem

    mematikan koneksi

    Gambar 3.36 Sequence Diagram Logout Admin

  • 52

    3.2. Desain Sistem

    3.2.1. ER Diagram

    Gambar 3.37 ER Diagram

    3.2.2. Desain Database

    Desain database berisi tabel-tabel yang digunakan didalam sistem,yaitu :

    1. Tabel Barang

    Tabel barang digunakan untuk menyimpan data barang yang dijual di

    swalayan tersebut. Struktur tabelnya adalah sebagai berikut :

    Tabel 3.1 Tabel Barang

    Nama Field Tipe Data Size Keterangan

    id_barang VARCHAR 15 ID untuk barang

    nama_barang VARCHAR 50 Nama barang

    jumlah_stock DOUBLE Jumlah stock barang

    harga_beli DOUBLE Harga beli barang

    harga_jual DOUBLE Harga jual barang

  • 53

    2. Tabel Transaksi

    Tabel transaksi digunakan untuk menyimpan transaksi yang terjadi.

    Tabel 3.2 Tabel Transaksi

    Nama Field Tipe Data Size Keterangan

    id_nota VARCHAR 10 ID untuk transaksi

    id_barang VARCHAR 15 ID untuk barang

    nama_barang VARCHAR 50 Nama barang

    jumlah DOUBLE Jumlah barang yang dibeli

    harga_total DOUBLE Harga total transaksi

    tanggal DATE Tanggal transaksi dilakukan

    3. Tabel Cleaning

    Tabel cleaning merupakan tabel untuk menyimpan data cleaning.

    Tabel 3.3 Tabel Cleaning

    Nama Field Tipe Data Size Keterangan

    id_nota INTEGER 6 ID untuk transaksi

    id_barang VARCHAR 15 ID untuk barang

    nama_barang VARCHAR 50 Nama Barang

    4. Tabel Rule

    Tabel rule digunakan untuk menyimpan asosiasi barang hasil

    pencarian pola asosiasi.

    Tabel 3.4 Tabel Rule

    Nama Field Tipe Data Size Keterangan

    id_rule INTEGER 11 ID untuk rule yang terbentuk

    subset INTEGER 11 Nilai jumlah kombinasi

    support DOUBLE Nilai support Lk-1 itemset

    confidence DOUBLE Nilai confidence Lk-1 itemset

    nama_barang1 VARCHAR 200 Nama barang ke-1 asosiasi

    nama_barang2 VARCHAR 200 Nama barang ke-2 asosiasi

  • 54

    5. Tabel Largeitem

    Tabel ini digunakan untuk menyimpan data large itemset yang

    diperoleh selama proses pencarian asosiasi.

    Tabel 3.5 Tabel Largeitem

    Nama Field Tipe Data Size Keterangan

    subset INTEGER 6 Nilai jumlah kombinasi

    support DOUBLE 6 Nilai support Lk-1 itemset

    nama_barang1 VARCHAR 200 Nama barang ke-1 kombinasi

    nama_barang2 VARCHAR 200 Nama barang ke-2 kombinasi

    nama_barangN VARCHAR 200 Nama barang ke-n kombinasi

    6. Tabel Candidate

    Tabel ini digunakan untuk menyimpan kandidat itemset yang diperoleh

    selama proses pencarian asosiasi.

    Tabel 3.6 Tabel Candidate

    Nama Field Tipe Data Size Keterangan

    subset INTEGER 6 Nilai jumlah kombinasi

    support DOUBLE 6 Nilai support Lk-1 itemset

    nama_barang1 VARCHAR 200 Nama barang ke-1 kombinasi

    nama_barang2 VARCHAR 200 Nama barang ke-2 kombinasi

    nama_barangN VARCHAR 200 Nama barang ke-n kombinasi

  • 55

    7. Tabel Staff

    Tabel staff digunakan untuk menyimpan data user.

    Tabel 3.7 Tabel Staff

    Nama Field Tipe Data Size Keterangan

    nik VARCHAR 10 ID untuk user

    username VARCHAR 20 Nama login user

    password VARCHAR 20 Password login user

    jabatan VARCHAR 20 Jabatan kerja user (Admin/Kasir)

    nama VARCHAR 30 Nama user

    alamat VARCHAR 100 Alamat user

    no_telepon VARCHAR 15 Nomor telepon user

    8. Tabel Login

    Tabel login digunakan untuk menyimpan data user yang melakukan

    login ke dalam sistem.

    Tabel 3.8 Tabel Login

    Nama Field Tipe Data Size Keterangan

    id_login VARCHAR 10 ID login

    nik VARCHAR 20 Nik user

    tanggal DATE 20 Tanggal user melakukan login

    jam TIME Jam user melakukan login

  • 56

    3.2.3. Desain Antar Muka (User Interface Design)

    3.2.3.1. Form Login

    Gambar 3.38 Form Login

    3.2.3.2. Form Utama Sistem Kasir

    Gambar 3.39 Form Utama Sistem Kasir

  • 57

    3.2.3.3. Form Transaksi

    Gambar 3.40 Form Transaksi

    3.2.3.4. Form Utama Sistem Admin

    Gambar 3.41 Form Utama Sistem Admin

  • 58

    3.2.3.5. Form Daftar User

    Gambar 3.42 Form Daftar User

    3.2.3.6. Form Daftar Barang

    Gambar 3.43 Form Daftar Barang

  • 59

    3.2.3.7. Form Daftar Transaksi

    Gambar 3.44 Form Daftar Transaksi

    3.2.3.8. Form Utama Perhitungan Apriori

    Gambar 3.45 Form Utama Perhitungan Apriori

  • 60

    3.2.3.9. Form Perhitungan Apriori – Mengambil Data Transaksi

    Gambar 3.46 Form Perhitungan Apriori – Mengambil Data Transaksi

    3.2.3.10. Form Perhitungan Apriori – Mengambil Data Transaksi

  • 61

    Gambar 3.47 Form Perhitungan Apriori – Mengambil Data Transaksi

    3.2.3.11. Form Perhitungan Apriori – Cleaning Data

    Gambar 3.48 Form Perhitungan Apriori – Cleaning Data

  • 62

    3.2.3.12. Form Perhitungan Apriori – Pencarian Pola Asosiasi Barang

    Gambar 3.49 Form Perhitungan Apriori – Pencarian Pola Asosiasi Barang

    3.2.3.13. Form Perhitungan Apriori – Hasil Analisa

    Gambar 3.50 Form Perhitungan Apriori – Hasil Analisa

  • 63

    BAB IV

    IMPLEMENTASI SISTEM

    Setelah melakukan analisis dan perancangan sistem, maka tahap

    selanjutnya adalah mengimplementasikan hasil perancangan tersebut ke dalam

    sebuah sistem untuk pencarian pola asosiasi penjualan antar barang. Sistem ini

    dapat melakukan pencarian pola asosiasi penjualan antar barang yang berasal dari

    data transaksi didalam database sistem dan data transaksi di luar database sistem.

    Hasil dari pencarian tersebut berupa pengetahuan pola asosiasi penjualan antar

    barang yang disajikan dalam tabel, grafik dan file cetak.

    5.1.Spesifikasi hardware dan software yang Digunakan

    Sistem dibuat dengan menggunakan hardware dan software sebagai

    berikut :

    5.3.2 Spesifikasi hardware

    1. Prosesor Intel Pentium Dual Core 1,86GHz

    2. Memori 1 GB

    3. Hardisk 80 GB

    5.3.2 Spesifikasi software

    1. Sistem Operasi Microsoft Windows XP Profesional Service Pack 2

    2. Kompiler IDE NetBeans 5.5

    3. Basis data MySQL 5.0

    4. Bahasa Pemrograman Java 2 Standar Edition (J2SE)

  • 64

    5.1.Pembuatan Database

    Pada bagian ini dilakukan pembuatan database baru pada MySQL yang

    berisi tabel-tabel untuk menyimpan data yang diperlukan di dalam sistem. Adapun

    pembuatan database tersebut terdiri dari langkah-langkah sebagai berikut :

    1. Membuat database baru dengan nama apriori.

    2. Dari database apriori selanjutnya dibuat tabel-tabel, baik melalui perintah

    create new table pada MySQL Query Browser, eksekusi perintah create table

    dengan sintak SQL, atau create table pada SQLyog.

    Tabel-tabel yang dibuat pada sistem ini adalah :

    1. Tabel staff

    2. Tabel barang

    3. Tabel transaksi

    4. Tabel cleaning

    5. Tabel candidate

    6. Tabel largeitemset

    7. Tabel rule

    8. Tabel login

    5.1.Koneksi Java dan MySQL

    Untuk menangani komunikasi Java dengan MySQL digunakan JDBC

    (Java Databases Connectivity), sehingga sistem dapat mengakses data di dalam

    database. Adapun langkah-langkah untuk membuat koneksi antara Java dengan

    MySQL adalah :

  • 65

    1. Menambahkan driver (mysql-connector-java-5.0.4-bin.jar) pada library Java.

    2. Membuat file untuk menangani koneksi yaitu file koneksi.java.

    package tools; import java.sql.*; public class koneksi { public Connection con; public Statement st; public ResultSet rs; public static void cekDriver() { try{ Class.forName("com.mysql.jdbc.Driver"); }catch(Exception e) { e.printStackTrace(); } } public void cekKoneksi() { try{ con = DriverManager.getConnection("jdbc:mysql://localhost :3306/apriori","root","root"); st = con.createStatement(); }catch(Exception e){ e.printStackTrace(); } } }

    Dalam file koneksi.java tersebut terdapat 2 buah fungsi, yaitu :

    1. Fungsi cekDriver()

    Fungsi cekDriver() digunakan untuk melakukan pengecekan terhadap driver

    mysql.

    2. Fungsi cekKoneksi()

    Fungsi cekKoneksi() digunakan untuk mendefinisikan letak dari database

    server. Isi dari definisi tersebut adalah letak alamat server, port mysql, nama

    database, username dan password.

  • 66

    5.1.Pembuatan Antar Muka (User Interface)

    Dalam pembuatan Antar Muka ini sistem dibagi menjadi 2 bagian, yaitu :

    5.3.2 Form Login User

    Gambar 4.1. Form Login User

    Pada Gambar 4.1. Form Login User terdapat 2 field masukan, yaitu text

    area untuk memasukkan nama username dan password field untuk memasukkan

    password. User mengetikkan username kemudian menekan tombol ENTER pada

    keyboard, jika username tersebut ada di dalam daftar user, maka field ID Check

    akan menampilkan NIK dari username user tersebut. Jika username tidak terdaftar

    di dalam database user, maka field ID Check tidak akan menampilkan NIK dari

    username user tersebut. Kemudian user memasukkan password pada password

    field, dan menekan tombol LOGIN.

    Jika username dan password yang diketikkan benar, maka sistem akan

    memeriksa jabatan dari user yang melakukan login tersebut. Jika user mempunyai

    jabatan admin, maka sistem akan masuk ke Form Admin. Jika user mempunyai

    jabatan kasir, maka sistem akan masuk ke Form Kasir. Namun jika username dan

  • 67

    password yang diketikkan user salah, maka akan muncul pesan bahwa login

    gagal dan user diminta untuk mengulangi login.

    5.3.2 Form Utama Sistem Kasir

    Gambar 4.2. Form Utama Sistem Kasir

    Gambar 4.2. diatas merupakan form yang ditampilkan sistem jika user

    berhasil melakukan login sebagai kasir. Selanjutnya user dapat melakukan proses

    pencatatan transaksi dengan menekan tombol transaksi. Jika user ingin keluar dari

    sistem, maka user dapat menekan tombol LOGOUT, atau jika ingin melakukan

    login ulang, user dapat menekan tombol LOGIN ULANG.

  • 68

    5.3.2 Form Transaksi Kasir

    Gambar 4.3. Form Transaksi Kasir

    Gambar 4.3. diatas merupakan Form Transaksi Kasir, yaitu form yang

    digunakan untuk mencatat transaksi penjualan. Mekanisme pencatatan transaksi

    adalah user mengetikkan kode barang di dalam field Kode Barang dan menekan

    tombol ENTER pada keyboard. Jika kode barang tersebut terdapat didalam

    database barang, maka field Harga Satuan akan menampilkan harga satuan dari

    barang tersebut dan field Nama Barang akan menampilkan nama dari kode barang

    tersebut. Jika kode barang yang diketikkan tidak terdapat didalam database

    barang, maka sistem akan menampilkan pesan bahwa barang tidak ada.

    Selanjutnya user memasukkan jumlah barang yang dibeli konsumen ke dalam

    field Jumlah dan menekan tombol TAMBAH untuk memasukkan barang yang

  • 69

    dibeli konsumen tersebut ke dalam tabel transaksi, maka nilai pada field Rupiah

    (Rp) akan berubah dengan menambahkan nilai yang sudah ada dengan nilai harga

    baru dari jumlah harga satu barang yang di catat. Setelah semua barang yang

    dibeli konsumen selesai dicatat, user memasukkan jumlah uang yang dibayarkan

    konsumen pada field Tunai dan menekan tombol OK untuk memasukkan data

    transaksi tersebut ke dalam database.

    User dapat merubah jumlah barang yang dibeli konsumen atau menghapus

    barang yang sudah dimasukkan ke dalam tabel transaksi dengan mengetikkan

    kode barang field Kode Barang. Selanjutnya user menekan tombol ENTER pada

    keyboard, maka field Jumlah, Harga Satuan, dan Nama Barang akan menampilkan

    data dari kode barang tersebut. User dapat merubah jumlah barang dengan

    mengganti nilai pada field Jumlah dan menekan tombol UBAH, maka jumlah

    barang dan jumlah harga pada tabel transaksi akan berubah sesuai dengan nilai

    baru yang di masukkan. User dapat menghapus barang dari tabel transaksi dengan

    menekan tombol HAPUS.

  • 70

    5.3.2 Form Utama Sistem Admin

    Gambar 4.4. Form Utama Sistem Admin

    Gambar 4.4. merupakan tampilan Form Admin, yaitu form utama jika user

    yang melakukan login mempunyai jabatan sebagai admin. Pada form tersebut,

    user dapat memilih untuk masuk ke menu-menu sistem dengan menekan masing-

    masing tombol. Sebagai contoh jika user akan masuk ke menu perhitungan

    apriori, maka user menekan tombol PERHITUNGAN APRIORI dan sistem akan

    masuk ke bagian perhitungan apriori.

  • 71

    5.3.2 Form Daftar User

    Gambar 4.5. Form Daftar User

    Gambar 4.5. merupakan tampilan Form Daftar User, yaitu form yang

    disediakan sistem untuk menambah, mengubah, dan menghapus user yang diberi

    wewenang untuk masuk ke dalam sistem. Sistem juga menyediakan fasilitas untuk

    mencetak daftar user tersebut ke media kertas atau disebut print.

  • 72

    5.3.2 Form Daftar Barang

    Gambar 4.6. Form Daftar Barang

    Gambar 4.6. merupakan tampilan Form Daftar Barang, yaitu form yang

    disediakan sistem untuk menambah barang baru, dan mengubah atau menghapus

    barang yang sudah tersimpan di dalam database. Sistem juga menyediakan

    fasilitas untuk mencetak daftar barang tersebut ke media kertas atau disebut print.

  • 73

    5.3.2 Form Daftar Transaksi

    Gambar 4.7. Form Daftar Transaksi

    Gambar 4.7. merupakan tampilan Form Daftar Transaksi, yaitu form yang

    disediakan sistem untuk menampilkan transaksi-transaksi yang telah dicatat kasir

    ke dalam database. User dapat memilih data transaksi yang akan ditampilkan

    secara keseluruhan atau secara periodik. Sistem juga menyediakan fasilitas untuk

    mencetak daftar user tersebut ke media kertas atau disebut print.

  • 74

    5.3.2 Form Perhitungan Apriori – Langkah-langkah Perhitungan Apriori

    Gambar 4.8. Form Perhitungan Apriori – Langkah-langkah Perhitungan Apriori

    Gambar 4.8. merupakan tampilan awal jika user masuk ke dalam menu

    perhitungan apriori. Form ini berisi langkah-langkah untuk mencari pola asosiasi

    menggunakan algoritma apriori. Untuk memulai melakukan pencarian pola

    asosiasi, user dapat menekan tombol lanjut. Maka sistem akan menampilkan form

    pengambilan data seperti disajikan pada Gambar 4.9 dibawah ini.

  • 75

    5.3.2 Form Perhitungan Apriori – Pemilihan Data Dari Database

    Gambar 4.9. Form Perhitungan Apriori – Pemilihan Data Dari Database

    Langkah pertama dalam pencarian pola asosiasi adalah mengambil data

    transaksi yang akan diproses. Pada Form Perhitungan Apriori – Pemilihan Data

    Dari Database, user dapat memilih sumber data transaksi yang akan diproses.

    Sistem menyediakan 2 buah pilihan, yaitu data transaksi diambil dari database

    sistem atau data transaksi diambil dari database lain (di luar database sistem).

    Kemudian user menekan tombol lanjut untuk mengambil data transaksi yang akan

    diambil berdasarkan sumber database.

  • 76

    5.3.2 Form Perhitungan Apriori – Pemilihan Data Dari Database Sistem dan

    Preprosesing/Cleaning Data

    Jika user memilih untuk mengambil data transaksi dari database sistem,

    maka akan ditampilkan Form Perhitungan Apriori – Pemilihan Data Dari

    Database Sistem dan Preprosesing/Cleaning Data seperti Gambar 4.10 dibawah

    ini.

    Gambar 4.10. Form Perhitungan Apriori – Pemilihan Data Dari Database Sistem

    dan Preprosesing/Cleaning Data

    Sistem menyediakan 2 pilihan sumber data transaksi, yaitu data dari tabel

    backup dan data dari tabel transaksi. Jika user memilih data dari tabel backup,

    user mengetikkan nama tabel yang akan diambil datanya didalam field tabel

  • 77

    backup dan menekan tombol OK. Maka tabel data akan menampilkan isi dari

    tabel yang diketikkan user tersebut dan secara bersamaan field preprosesing akan

    di aktifkan. Dalam hal ini user terlebih dahulu harus melakukan preprosesing

    terhadap data dari tabel backup sebelum melakukan proses cleaning. User

    mengetikkan nama kolom yang menyatakan id transaksi/nota/faktur dan nama

    barang pada field yang disediakan. Selanjutnya user dapat melanjutkan untuk

    melakukan proses cleaning dengan menekan tombol CLEANING.

    Jika user memilih mengambil data dari tabel transaksi, sistem

    menyediakan 2 buah pilihan untuk pengambilan data. Data dapat diambil secara

    keseluruhan atau secara periodik berdasarkan periode waktu yang dipilih user

    pada kalender waktu yang disediakan. Selanjutnya user menekan tombol OK dan

    sistem akan menampilkan data ke dalam tabel data.

    Berbeda dengan pilihan data backup, dalam hal ini user tidak perlu melakukan

    proses preprosesing terlebih dahulu sebelum melakukan proses cleaning. Field

    preprosesing akan tetap di non-aktifkan dan user dapat menekan tombol cleaning

    untuk melanjutkan proses.

  • 78

    5.3.2 Form Perhitungan Apriori – Pemilihan Data Dari Database di Luar

    Sistem dan Preprosesing/Cleaning Data

    Jika user memilih untuk mengambil data transaksi dari database di luar

    sistem, maka akan ditampilkan Form Perhitungan Apriori – Pemilihan Da