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
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
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.
vii
HALAMAN PERSEMBAHAN
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.
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.
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.
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
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 ...
1.1 Latar Belakang Masalah ... 1.2 Rumusan Masalah ... 1.3 Batasan Masalah ...
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.1Activity Diagram Login Kasir ... 3.1.4.1.2Activity Diagram Mencatat Data Transaksi ... 3.1.4.1.3Activity Diagram Logout Kasir ... 3.1.4.2 Activity Diagram Sistem Admin ... 3.1.4.2.1Activity Diagram Login Admin ...
xv
3.1.4.2.2Activity Diagram Menambah Data Barang ... 3.1.4.2.3Activity Diagram Mengedit Data Barang ... 3.1.4.2.4Activity Diagram Menghapus Data Barang ... 3.1.4.2.5Activity Diagram Mencetak Data Barang ... 3.1.4.2.6Activity Diagram Menambah Data User ... 3.1.4.2.7Activity Diagram Mengedit Data User …... 3.1.4.2.8Activity Diagram Menghapus Data User ... 3.1.4.2.9Activity 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.1Sequence Diagram Login Kasir ... 3.1.5.1.2Sequence Diagram Mencatat Data Transaksi 3.1.5.1.3Sequence Diagram Logout Kasir ... 3.1.5.2 Sequence Diagram Sistem Admin ... 3.1.5.2.1Sequence Diagram Login Admin ... 3.1.5.2.2Sequence Diagram Menambah Data Barang
xvi
3.1.5.2.3Sequence Diagram Mengedit Data Barang ... 3.1.5.2.4Sequence Diagram Menghapus Data Barang 3.1.5.2.5Sequence Diagram Mencetak Data Barang ... 3.1.5.2.6Sequence Diagram Menambah Data User .... 3.1.5.2.7Sequence Diagram Mengedit Data User ... 3.1.5.2.8Sequence Diagram Menghapus Data User .... 3.1.5.2.9Sequence 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 ...
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.10Form Perhitungan Apriori - Mengambil Data
Transaksi ... 3.2.3.11Form Perhitungan Apriori - Cleaning Data ... 3.2.3.12Form Perhitungan Apriori - Pencarian Pola Asosiasi Barang ... 3.2.3.13Form 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 ...
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 ...
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
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.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
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
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
xxiv
DAFTAR RUMUS
Rumus Keterangan Halaman
2.1 Nilai Support (A⇒B) 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.
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.
1
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.
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 :
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 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
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
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
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.
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.
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
tuple
Confidence merupakan persentasi banyaknya A pada transaksi yang
mengandung B.
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.
Untuk setiap large itemset l, harus dapat ditemukan seluruh subset yang tidak
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
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
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 :
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.
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.
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
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
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
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
) (
) (
A Support
B A Support ∪
. 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 (A⇒B) Support (A∪B) 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%
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
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
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.
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.
3.1.2. Use Case Diagram
Use case diagram sistem disajikan seperti pada gambar 3.1 dibawah ini.
Mengedit data barang
Mencetak data user Mencetak data barang
Melakukan pencarian pola
Gambar 3.1 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
Mulai
Verifikasi Usename dan Password
Memasukkan Username dan Password
Tampilan Form Login
Tampilan Halaman Form Kasir
Seles ai
( salah )
( benar )
3.1.4.1.2. Activity Diagram Mencatat Data Transaksi
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)
3.1.4.1.3. Activity Diagram Logout Kasir
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
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
3.1.4.2.3. Activity Diagram Mengedit Data Barang
3.1.4.2.4. Activity Diagram Menghapus Data Barang
Gambar 3.9 Activity Diagram Menghapus Data Barang
3.1.4.2.5.Activity Diagram Mencetak Data Barang
Mulai
3.1.4.2.6.Activity Diagram Menambah Data User
Mulai
Memilih menu User
Memasukkan Data User
Menekan Tombol Tambah
Selesai
Konfirmas i 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
3.1.4.2.7. Activity Diagram Mengedit Data User
Data Tidak Lengkap ( tidak ) Menambah
Kelengkapan Data
Selesai
3.1.4.2.8. Activity Diagram Menghapus Data User
Gambar 3.13 Activity Diagram Menghapus Data User
3.1.4.2.9. Activity Diagram Mencetak Data User
Mulai
3.1.4.2.10.Activity Diagram Melihat Data Transaksi
Mulai
Memilih Menu Transaksi
Memasukkan Periode Transaksi yang akan Diambil Datanya
Tampilan Data Transaksi
Seles ai
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
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
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 )
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 hal aman sistem kasir
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 tampilan f orm transaksi kosong
3.1.5.1.3. Sequence Diagram Logout Kasir
: Kasir : halamanSistemKasir : kontrolLogout
menekan tombol logout
menutup si stem
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
tampil an hal am an sistem adm in
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 bert ambah
tampilan data barang pada tabel
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 tidak 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
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
3.1.5.2.5. Sequence Diagram Mencetak Data Barang
: Admin : halamanMenuBarang : kontrolDataBarang : dataBarang
menekan tombol cet ak
data barang
queri data barang
prev iew data barang
mencetak data barang
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
3.1.5.2.7. Sequence Diagram Mengedit Data User
: Admin : halamanMenuUser : kontrolDataUser : dataUser masukkan i d user
id user
queri data user
data user ti dak 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
3.1.5.2.8. Sequence Diagram Menghapus Data User
: Admin : halamanMenuUser : kontrolDataUser : dataUser
masukkan id user
id user
queri data user
data user ti dak 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
3.1.5.2.9. Sequence Diagram Mencetak Data User
: dataUser : Admin : halam anMenuUser : kontrolDataUser
menekan tombol cetak
data user
queri data user
preview data user
mencetak data user
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
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
: halamanPemil ihanDatabase
: Adm in : hal amanLangkahPencarian : kontrol DataT ransaksi : dataT ransaksi : kontrolDataCleani ng : dataCl eaning : hal amanCl eani ng : halamanPencarianAsosiasi : kontrol Pencari anAsosiasi : dataAsosi asiBarang menekan tombol lanjut
memilih sumber database
database data transaksi
queri data transaksi
data transaksi tampilan data transaksi
menekan tombol cleaning
data transaksi
q ueri data transaksi
data transaksi hasil cleaning
data cleaning
tampilan data cleaning pada tabel
menekan tombol lanjut
data c leaning
masukkan minsup dan minconf menekan tombol hitung
minsup dan minconf
queri pembentukan pola asosias i hasil pencarian asosiasi
data asosiasi
tampilan data asosiasi
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
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
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
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
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
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
3.2.3.3. Form Transaksi
Gambar 3.40 Form Transaksi
3.2.3.4. Form Utama Sistem Admin
3.2.3.5. Form Daftar User
Gambar 3.42 Form Daftar User
3.2.3.6. Form Daftar Barang
3.2.3.7. Form Daftar Transaksi
Gambar 3.44 Form Daftar Transaksi
3.2.3.8. Form Utama Perhitungan Apriori
3.2.3.9. Form Perhitungan Apriori – Mengambil Data Transaksi
Gambar 3.46 Form Perhitungan Apriori – Mengambil Data Transaksi
Gambar 3.47 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
Gambar 3.49 Form Perhitungan Apriori – Pencarian Pola Asosiasi Barang
3.2.3.13.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
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
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;
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
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.
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
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
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
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
5.3.2 Form Daftar User
Gambar 4.5. Form Daftar User
5.3.2 Form Daftar Barang
Gambar 4.6. Form Daftar Barang
5.3.2 Form Daftar Transaksi
Gambar 4.7. Form Daftar Transaksi
5.3.2 Form Perhitungan Apriori – Langkah-langkah Perhitungan Apriori
Gambar 4.8. Form Perhitungan Apriori – Langkah-langkah Perhitungan Apriori
5.3.2 Form Perhitungan Apriori – Pemilihan Data Dari Database
Gambar 4.9. Form Perhitungan Apriori – Pemilihan Data Dari Database
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
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.