BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
3.1.2 Analisis Crisp-DM
3.1Analisis Sistem
Analisis sistem (System Analysis) dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. Dalam analisa sistem ini meluputi beberapa bagian, yaitu:
1. Analisis Masalah 2. Analisis Crisp-DM
3. Analisis Kebutuhan Non Fungsional 4. Analisis Kebutuhan Fungsional 3.1.1 Analisis Masalah
Analisis masalah yang dilakukan adalah mengidentifikasikan permasalahan atau kendala di dalam penelitian yang dilakukan. Masalah dapat didefinisikan sebagai suatu pernyataan yang diinginkan untuk dipecahkan. Perlu ada analisis masalah melalui rumusan masalah yang sudah ditentukan sebelumnya. Berdasarkan hasil pengamatan, diketahui bahwa masalahnya adalah sebagai berikut :
Cv. Bukit Manikam mengalami kendala dalam penentuan paket penjualan yang akan ditawarkan ke pelanggan. Kendala yang terjadi dikarenakan paket yang ditawarkan kurang laku terjual, maka dari permasalahan tersebut Cv. Bukit Manikam membutuhkan informasi penentuan paket barang yang tepat. Berdasarkan penjelasan di atas untuk penyelesaian masalah yang terjadi, perlu adanya penerapan data mining.
3.1.2 Analisis Crisp-DM
Metode pembangunan perangkat data mining yang digunakan dalam penelitian ini adalah Cross-Industry Standard Process for Data mining ( CRISP-DM).
3.1.2.1Business Understanding
Business Understanding merupakan tahapan pertama yang dilakukan dalam kerangka kerja CRISP-DM. Dalam tahapan bisnis ini terbagi menjadi dua bagian, yaitu:
1. Identifikasi Tujuan Bisnis
Tujuan bisnis Cv. Bukit Manikam yaitu menjual paket barang untuk mencapai target penjualan paket yang sudah ditentukan.
2. Menilai Situasi Perusahaan
Menilai situasi merupakan tahapan untuk menjelaskan sumber daya, asumsi dan batasan yang terdapat pada Cv. Bukit Manikam.
a. Sumber daya
1. Sumber daya data
Sumber daya data yang terdapat pada Cv. Bukit Manikam meliputi data nota transaksi penjualan dan katalog.
2. Sumber daya perangkat keras
Sumber daya perangkat keras yang terdapat pada Cv. Bukit Manikam meliputi perangkat komputer yang digunakan oleh kepala cabang, supervisor, dan bagian administrasi.
3. Sumber daya personil
Sumber daya personil yang terdapat pada Cv. Bukit Manikam meliputi kepala cabang, supervisor, marketing, sales, kurir dan bagian gudang. b. Asumsi
1. Data yang digunakan dalam penelitian ini adalah data transaksi berupa
file excel periode januari 2016.
2. Hasil dari penelitian ini berupa rules yang difilter sebagai acuan untuk pembentukan paket barang.
c. Batasan
Batasan paket dalam penelitian ini adalah dalam satu paket hanya terdapat satu brand saja, sebagai contoh yamaha dengan yamaha.
29
3. Penentuan Sasaran Data mining
Penentuan sasaran penerapan data mining adalah mengetahui pasangan barang untuk dijadikan dasar keputusan Cv. Bukit Manikam dalam menentukan paket penjualan.
3.1.2.2Data Understanding
Tahapan pemahaman data merupakan tahapan kedua yang dilakukan dalam kerangka kerja CRISP-DM. Dalam tahapan pemahaman data ini terbagi menjadi beberapa bagian, yaitu:
1. Mengumpulkan data awal
Tahap pertama dalam pemahaman data dimulai dengan pengumpulan data, sumber data yang didapat dalam penelitian ini adalah berupa data nota transaksi penjualan di Cv. Bukit Manikam, yang dapat dilihat pada gambar 3.1
Lalu data dari nota penjualan dipindahkan ke dalam file Microsoft Excel
(.xlsx) seperti contoh pada tabel 3.1
Tabel 3. 1 Contoh Data Transaksi Yang Dipakai
Nomor Faktur Tanggal Nama Barang Qty Harga Diskon Total Harga
B16010100001/ 01/01/2016 Seal Valve Steam Beat Hi-Q 40 Rp 7.400 20 Rp 296.000 B16010100001/ 01/01/2016 Ts Gasket Kit Vixion Hi-Q 20 Rp 30.000 20 Rp 600.000 B16010100001/ 01/01/2016 Pac.R.Crank Cover Vega Z R 20 Rp 6.000 20 Rp 120.000 B16010100001/ 01/01/2016 Pac.Muffler Mio 10 Rp 2.100 20 Rp 21.000 B16010100001/ 01/01/2016 Seal Valve Steam Jupiter Mx Hi-Q 30 Rp 6.200 20 Rp 186.000 B16010100002/ 01/01/2016 Ts Gasket Kit Mio / Mio Soul 15 Rp 26.000 20 Rp 390.000 B16010100002/ 01/01/2016 Pac.R.Crank Cover Vega Z R 5 Rp 6.000 20 Rp 30.000 B16010100002/ 01/01/2016 Ts Gasket Kit Vixion Hi-Q 5 Rp 30.000 20 Rp 150.000 B16010100002/ 01/01/2016 Seal Valve Steam Jupiter Mx Hi-Q 60 Rp 6.200 20 Rp 372.000 B16010100003/ 01/01/2016 Seal Valve Steam Jupiter Mx Hi-Q 5 Rp 6.200 20 Rp 31.000 B16010100003/ 01/01/2016 Visor Beat Injection (Abu-Abu) 5 Rp 28.000 20 Rp 140.000 B16010100003/ 01/01/2016 Pac.Muffler Mio 5 Rp 2.100 20 Rp 10.500 B16010100003/ 01/01/2016 Ts Gasket Kit Mio / Mio Soul 10 Rp 26.000 20 Rp 260.000 B16010100003/ 01/01/2016 Pac.R.Crank Cover Vega Z R 40 Rp 6.000 20 Rp 240.000
Untuk pemaketan sendiri, dibutuhkan kode barang dan brand yang akan dibutuhkan dalam tahap selanjutnya. Untuk kode barang dan brand didapat dari katalog, contoh dari katalog barang dapat dilihat pada gambar 3.2
31
Selanjutnya, barcode dan brand dimasukan dan disatukan ke dalam file
data transaksi yang telah tersedia, berikut hasil setelah barcode dan brand yang telah dimasukkan dapat dilihat pada tabel 3.2
Tabel 3. 2 Data Transaksi
Nomor Faktur Tanggal Barcode Brand Nama Barang Qty Harga Diskon Total Harga
B16010100001/ 01/01/2016 991204500461 Honda
Seal Valve Steam Beat
Hi-Q 40 Rp 7.400 20 Rp 296.000
B16010100001/ 01/01/2016 981313000980 Yamaha
Ts Gasket Kit Vixion
Hi-Q 20 Rp 30.000 20 Rp 600.000
B16010100001/ 01/01/2016 989337900010 Yamaha
Pac.R.Crank Cover
Vega Z R 20 Rp 6.000 20 Rp 120.000 B16010100001/ 01/01/2016 989307500160 Yamaha Pac.Muffler Mio 10 Rp 2.100 20 Rp 21.000
B16010100001/ 01/01/2016 991307700461 Yamaha
Seal Valve Steam
Jupiter Mx Hi-Q 30 Rp 6.200 20 Rp 186.000
B16010100002/ 01/01/2016 880100102212 Yamaha
Ts Gasket Kit Mio /
Mio Soul 15 Rp 26.000 20 Rp 390.000
B16010100002/ 01/01/2016 989337900010 Yamaha
Pac.R.Crank Cover
Vega Z R 5 Rp 6.000 20 Rp 30.000
B16010100002/ 01/01/2016 981313000980 Yamaha
Ts Gasket Kit Vixion
Hi-Q 5 Rp 30.000 20 Rp 150.000
B16010100002/ 01/01/2016 991307700461 Yamaha
Seal Valve Steam
Jupiter Mx Hi-Q 60 Rp 6.200 20 Rp 372.000
B16010100003/ 01/01/2016 991307700461 Yamaha
Seal Valve Steam
Jupiter Mx Hi-Q 5 Rp 6.200 20 Rp 31.000
B16010100003/ 01/01/2016 880203101146 Honda
Visor Beat Injection
(Abu-Abu) 5 Rp 28.000 20 Rp 140.000 B16010100003/ 01/01/2016 989307500160 Yamaha Pac.Muffler Mio 5 Rp 2.100 20 Rp 10.500
B16010100003/ 01/01/2016 880100102212 Yamaha
Ts Gasket Kit Mio /
Mio Soul 10 Rp 26.000 20 Rp 260.000
B16010100003/ 01/01/2016 989337900010 Yamaha
Pac.R.Crank Cover
2. Mendeskripsikan data
Tahap kedua dalam pemahaman data adalah mendeskripsikan data, yaitu data transaksi. Adapun detail informasi mengenai data yang digunakan dapat dilihat pada tabel 3.3.
Tabel 3. 3 Informasi Struktur Data
3. Mengidentifikasi masalah kualitas data
Dari data transaksi yang didapat terdapat noise, noise yaitu data transaksi yang hanya memiliki 1 barang dalam sekali transaksi sehingga data tersebut perlu dihilangkan karena akan mempengaruhi proses mining.
Dokumen Keterangan
Detail Data Transaksi
Deskripsi Data ini berisi mengenai data transaksi yang terbentuk
Format Microsoft Excel (.xlsx)
Atribut Nomor Faktur Nomor pembelian Tanggal Tanggal pembelian Brand Nama brand motor
Barcode Kode dari setiap barang Nama Barang Nama barang yang dibeli Qty Jumlah barang yang dibeli Harga Harga barang yang dibeli
Diskon Pemotongan harga yang diberikan Total Harga Total harga barang yang dibeli
33
3.1.2.3Data Preparation
Persiapan data merupakan tahap di mana akan dilakukan pemilihan tabel dan field yang akan digunakan dalam proses mining. Persiapan data dilakukan dengan sebutan Preprocessing Data. Preprocessing merupakan hal yang harus dilakukan dalam proses data mining, karena tidak semua data atau atribut data dalam data digunakan dalam proses data mining. Proses ini dilakukan agar data yang digunakan sesuai dengan kebutuhan. Adapun tahapan-tahapan preprocessing
data dalam penelitian ini adalah sebagai berikut : 1. Pemilihan Atribut
Proses pemilihan atribut atau selection data adalah proses di mana atribut data akan dipilih dan diproses sesuai dengan kebutuhan data mining. Sebelum melakukan proses pembersihan data akan dilakukan proses selection atau pemilihan atribut terlebih dahulu. Karena dari data transaksi di Cv. Bukit Manikam memiliki 9 atribut, sedangkan yang dibutuhkan untuk data mining
hanya 2 atribut, maka akan dilakukan proses seleksi dengan menyeleksi atribut yang tidak dibutuhkan, proses ini akan memudahkan pada proses pembersihan data nanti. Dalam penelitian ini, 2 atribut yang akan digunakan adalah atribut Nomor Faktur dan Nama Barang. Kedua atribut ini digunakan untuk memenuhi tujuan awal di mana akan dicari pola pembelian pelanggan berdasarkan barang yang dibeli. Atribut Nomor Faktur digunakan untuk membedakan satu transaksi dengan transaksi lainnya, dan atribut Nama Barang digunakan untuk mengetahui barang apa saja yang dibeli dalam satu transaksi. Contoh pemilihan atribut dapat dilihat pada tabel 3.4
Tabel 3. 4 Contoh Pemilihan Atribut Nomor Faktur Nama Barang
B16010100001/ Seal Valve Steam Beat Hi-Q B16010100001/ Ts Gasket Kit Vixion Hi-Q B16010100001/ Pac.R.Crank Cover Vega Z R B16010100001/ Pac.Muffler Mio
B16010100001/ Seal Valve Steam Jupiter Mx Hi-Q B16010100002/ Ts Gasket Kit Mio / Mio Soul B16010100002/ Pac.R.Crank Cover Vega Z R
3. Pembersihan Data
Proses pembersihan data atau cleaning data adalah proses menghilangkan noise. Noise di sini yaitu data transaksi yang hanya memiliki 1 barang dalam sekali pembelian. Dalam data transaksi ini akan dilakukan pengeleminasian terhadap transaksi yang memiliki jumlah barang kurang dari 2 dalam satu kali transaksinya, karena syarat ini diperlukan dalam Association Rules untuk melihat keterhubungan antar 2 barang atau lebih. Setelah melakukan proses pembersihan data, dari data transaksi yang awalnya sebanyak 19 transaksi dengan jumlah record 85 dicleaning menjadi 17 transaksi dengan jumlah record 17. Contoh sebelum dan sesudah pembersihan data dapat dilihat pada tabel 3.5 dan 3.6
Tabel 3. 5 Contoh data yang akan dibersihkan Nomor Faktur Nama Barang
B16010100003/ Seal Valve Steam Jupiter Mx Hi-Q B16010100003/ Visor Beat Injection (Abu-Abu) B16010100003/ Pac.Muffler Mio
B16010100003/ Ts Gasket Kit Mio / Mio Soul B16010100003/ Pac.R.Crank Cover Vega Z R B16010100004/ Pac.Muffler Mio
B16010100005/ Seal Valve Steam Beat Hi-Q B16010100005/ Pac.Muffler Mio
B16010100005/ Pac.Muffler Beat / Scoopy / Spacy / Vario
Tabel 3. 6 Contoh data yang telah dibersihkan Nomor Faktur Nama Barang
B16010100003/ Seal Valve Steam Jupiter Mx Hi-Q B16010100003/ Visor Beat Injection (Abu-Abu) B16010100003/ Pac.Muffler Mio
B16010100003/ Ts Gasket Kit Mio / Mio Soul B16010100003/ Pac.R.Crank Cover Vega Z R B16010100005/ Seal Valve Steam Beat Hi-Q B16010100005/ Pac.Muffler Mio
35
3.1.2.4Modelling
Pemodelan merupakan tahap untuk membangun model. Adapun tahapannya sebagai berikut :
1. Memilih Teknik Modelling
Penelitian ini bertujuan untuk mendapatkan informasi mengenai pola pembelian pelanggan yang nantinya akan digunakan oleh pihak Cv. Bukit Manikam sebagai dasar pengambilan keputusan untuk menentukan barang apa saja yang bisa dijadikan sebuah paket penjualan barang. Maka dari itu teknik pemodelan yang digunakan adalah dengan menerapkan Data mining,
data transaksi akan diolah dengan Metode Association Rule dengan menggunakan algoritma CT-Pro untuk menemukan pola-pola pembelian barang yang sering dibeli oleh pelanggan.
2. Membangun Model
Setelah memilih model yang digunakan tahap selanjutnya adalah membangun model sesuai dengan yang ditentukan berikut merupakan tahapan pembangunan model menggunakan metode association rules. Metodologi dasar Association Rule terbagi menjadi dua tahap, yaitu mencari
frequent itemset dan mendefinisikan condition dan result. Algoritma yang digunakan dalam penelitian ini adalah algoritma CT-Pro. Berikut ini adalah langkah-langkah proses pengerjaan algoritma CT-Pro :
1. Mencari FrequentItemset
Langkah pertama adalah menghitung jumlah kemunculan tiap barang, sebelumnya akan ditentukan nilai minimum support untuk melihat batasan terendah munculnya barang. Dalam menentukan nilai minimum support dapat berubah sesuai kebutuhan user. Hal ini juga diperkuat dengan pernyataan pakar data mining Daniel T. Larose, yang menerangkan bahwa user bebas menentukan nilai minimum support (minsup) dan minimum confidence
(mincof) sesuai kebutuhan[13]. Minimum supporrt yang diambil pada penelitian ini adalah 4, maka batasan barang yang muncul harus sebanyak >= 4 kali. Maka pada data transaksi, masing-masing barang dihitung jumlah kemunculan berdasarkan barangnya. Hasil dari penghitungan kemunculan barang dapat dilihat pada tabel 3.7.
Tabel 3. 7 Hasi Jumlah Kemunculan Item
Nama Barang Support
Count
Pac.Muffler Mio 11
Pac.R.Crank Cover Vega Z R 10
Seal Valve Steam Beat Hi-Q 10
Ts Gasket Kit Mio / Mio Soul 8
Ts Gasket Kit Vixion Hi-Q 8
Seal Valve Steam Jupiter Mx Hi-Q 7
Pac.Cyl Jupiter Mx 6
Pac.Muffler Beat / Scoopy / Spacy / Vario 5
Pac.Cyl Mio / Mio Soul 4
Mirror Assy Aero Yamaha (Hitam) 4 Spakbor Dpn Vario Techno 125 (Hitam) 3 Mirror Assy Elipso Hnd (White) 3
Spakbor Dpn Mio Soul (Hitam) 2
Leg Shield Container Vario (Hitam) 1 Visor Beat Injection (Abu-Abu) 1
37
Karena minimum support-nya 4, maka barang yang tidak memenuhi batas minimum support akan dieliminasi. Berikut adalah tabel hasil eliminasi kemunculan barang yang tidak memenuhi minimun suport yang diacu pada tabel 3.8.
Tabel 3. 8 Hasil Eliminasi Jumlah Kemunculan Item
Nama Barang Support
Count
Pac.Muffler Mio 11
Seal Valve Steam Beat Hi-Q 10
Pac.R.Crank Cover Vega Z R 10
Ts Gasket Kit Vixion Hi-Q 8
Ts Gasket Kit Mio / Mio Soul 8
Seal Valve Steam Jupiter Mx Hi-Q 7
Pac.Cyl Jupiter Mx 6
Pac.Muffler Beat / Scoopy / Spacy / Vario 5
Pac.Cyl Mio / Mio Soul 4
Mirror Assy Aero Yamaha (Hitam) 4
Begitu juga pada data transaksi untuk barang yang frequent-nya tidak memenuhi batas minimum support dieliminasi dan hasilnya dapat dilihat pada tabel 3.9
Tabel 3. 9 Data Transaksi yang Frequent
Nomor Faktur Nama Barang Nomor Faktur Nama Barang
B16010100001/ Seal Valve Steam Beat Hi-Q B16010200011/ Seal Valve Steam Jupiter Mx Hi-Q
B16010100001/ Ts Gasket Kit Vixion Hi-Q B16010100011/ Pac.Cyl Jupiter Mx
B16010100001/ Pac.R.Crank Cover Vega Z R B16010200011/ Seal Valve Steam Beat Hi-Q
B16010100001/ Pac.Muffler Mio B16010200011/ Pac.R.Crank Cover Vega Z R
B16010100001/ Seal Valve Steam Jupiter Mx
Hi-Q B16010200013/ Ts Gasket Kit Mio / Mio Soul
Nomor Faktur Nama Barang Nomor Faktur Nama Barang
B16010100002/ Pac.R.Crank Cover Vega Z R B16010200013/ Seal Valve Steam Jupiter Mx Hi-Q
B16010100002/ Ts Gasket Kit Vixion Hi-Q B16010300014/ Ts Gasket Kit Vixion Hi-Q
B16010100002/ Seal Valve Steam Jupiter Mx
Hi-Q B16010300014/ Pac.Cyl Jupiter Mx
B16010100003/ Seal Valve Steam Jupiter Mx
Hi-Q B16010300014/
Pac.Muffler Beat / Scoopy / Spacy / Vario
B16010100003/ Pac.Muffler Mio B16010300014/ Pac.Muffler Mio
B16010100003/ Ts Gasket Kit Mio / Mio Soul B16010300015/ Ts Gasket Kit Vixion Hi-Q B16010100003/ Pac.R.Crank Cover Vega Z R B16010300015/ Pac.Muffler Mio
B16010100005/ Seal Valve Steam Beat Hi-Q B16010300015/ Seal Valve Steam Jupiter Mx Hi-Q
B16010100005/ Pac.Muffler Mio B16010300015/ Ts Gasket Kit Mio / Mio Soul
B16010100005/ Pac.Muffler Beat / Scoopy /
Spacy / Vario B16010300015/
Mirror Assy Aero Yamaha (Hitam)
B16010100006/ Seal Valve Steam Beat Hi-Q B16010300016/ Pac.Muffler Mio
B16010100006/ Pac.Cyl Mio / Mio Soul B16010300016/ Seal Valve Steam Beat Hi-Q B16010100006/ Pac.R.Crank Cover Vega Z R B16010300016/ Pac.Cyl Mio / Mio Soul
B16010100006/ Mirror Assy Aero Yamaha
(Hitam) B16010300016/ Pac.Cyl Jupiter Mx
B16010100007/ Pac.R.Crank Cover Vega Z R B16010300016/ Mirror Assy Aero Yamaha (Hitam)
B16010100007/ Pac.Muffler Mio B16010300016/ Pac.R.Crank Cover Vega Z R
B16010100007/ Ts Gasket Kit Vixion Hi-Q B16010300016/ Pac.Muffler Beat / Scoopy / Spacy / Vario
B16010200008/ Pac.Muffler Beat / Scoopy /
Spacy / Vario B16010300017/ Pac.Cyl Mio / Mio Soul
B16010200008/ Seal Valve Steam Beat Hi-Q B16010300017/ Pac.Cyl Jupiter Mx
B16010200008/ Pac.R.Crank Cover Vega Z R B16010300017/ Seal Valve Steam Beat Hi-Q B16010200008/ Pac.Cyl Jupiter Mx B16010300017/ Pac.Muffler Mio
B16010200008/ Pac.Muffler Mio B16010300018/ Seal Valve Steam Jupiter Mx Hi-Q
B16010200009/ Seal Valve Steam Beat Hi-Q B16010300018/ Ts Gasket Kit Mio / Mio Soul B16010200009/ Pac.R.Crank Cover Vega Z R B16010300018/ Ts Gasket Kit Vixion Hi-Q B16010200010/ Pac.Cyl Jupiter Mx B16010300019/ Pac.Cyl Mio / Mio Soul B16010200010/ Seal Valve Steam Beat Hi-Q B16010300019/ Seal Valve Steam Beat Hi-Q B16010200010/ Ts Gasket Kit Mio / Mio Soul B16010300019/ Pac.Muffler Mio
B16010200010/ Ts Gasket Kit Vixion Hi-Q B16010300019/ Ts Gasket Kit Mio / Mio Soul
39
Nomor Faktur Nama Barang Nomor Faktur Nama Barang
B16010200010/ Pac.Muffler Beat / Scoopy /
Spacy / Vario B16010300019/
Mirror Assy Aero Yamaha (Hitam)
B16010100011/ Ts Gasket Kit Mio / Mio Soul
Selanjutnya untuk setiap barang diberikan id global item yaitu penomoran secara ascending dari jumlah support count terbesar ke terkecil. Berikut adalah tabel global item table yang dapat dilihat pada tabel 3.10
Tabel 3. 10 Global Item Table
Nama Barang Support
Count
Id global item
Pac.Muffler Mio 11 1
Pac.R.Crank Cover Vega Z R 10 2
Seal Valve Steam Beat Hi-Q 10 3
Ts Gasket Kit Mio / Mio Soul 8 4
Ts Gasket Kit Vixion Hi-Q 8 5
Seal Valve Steam Jupiter Mx Hi-Q 7 6
Pac.Cyl Jupiter Mx 6 7
Pac.Muffler Beat / Scoopy / Spacy / Vario 5 8
Pac.Cyl Mio / Mio Soul 4 9
Selanjutnya dilakukan mapping data yaitu memetakan data transaksi dari tabel 3.9 terhadap global item table pada tabel 3.10, di mana nama barang pada tabel 3.9 digantikan oleh id global item sesuai dengan id global item yang ada pada tabel 3.10. Data transaksi kemudian diurutkan dari id global item
terkecil ke terbesar dari setiap nomor fakturnya. Berikut adalah hasil mapping
data transaksi tabel 3.9 yang dapat dilihat pada tabel 3.11. Tabel 3. 11 Tabel Mapping
Nomor Faktur Id Global Item
B16010100001/ 1, 2, 3, 5, 6 B16010100002/ 2, 4, 5, 6 B16010100003/ 1, 2, 4, 6 B16010100005/ 1, 3, 8 B16010100006/ 2, 3, 9, 10 B16010100007/ 1, 2, 5 B16010200008/ 1, 2, 3, 7, 8 B16010200009/ 2, 3 B16010200010/ 1, 3, 4, 5, 7, 8 B16010200011/ 2, 3, 4, 6, 7 B16010200013/ 4, 5, 6 B16010300014/ 1, 5, 7, 8 B16010300015/ 1, 4, 5, 6, 10 B16010300016/ 1, 2, 3, 7, 8, 9, 10 B16010300017/ 1, 3, 7, 9 B16010300018/ 4, 5, 6 B16010300019/ 1, 2, 3, 4, 9, 10
41
2. Membuat CFP-Tree
Setelah ditemukan frequent itemset kemudian dilakukan pembentukan
CFP-Tree . Pada pembentukan Global CFP-Tree dimulai dengan membuat
left most branch yang dapat dilihat pada gambar 3.3.
Gambar 3. 3 Left Most Branch
1 2 3 4 5 6 Level 0 0 0 0 0 1 0 0 0 1 0 2 0 3 0 4 0 0 0 1 0 2 0 3 0 4 0 5 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 0 0 1 0 2 0 7 0 0 1 0 2 0 3 0 Level 1 Level 4 Level 5 0 0 1 0 2 0 3 0 4 0 5 0 6 0 8 7 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 9 7 0 8 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 Level 3 Level 2 Level 6 Level 7 Level 8 Level 9
Tahap selanjutnya yaitu memasukkan setiap data transaksi ke dalam tree.
Berikut langkah langkah membuat CFP-Tree :
1. Dimulai dari root yaitu barang yang pertama kali muncul dari nomor faktur pertama yang telah di-mapping, barang tersebut akan menjadi
currnode.
2. Tambahkan count = 1 pada barang yang pertama muncul sesuai dengan levelnya.
3. Jika currnode sudah memiliki anak, dan barang yang muncul sama dengan anak tersebut maka tambahkan count = 1 pada level yang sama
currnode.
4. Jika currnode sudah memiliki anak, tetapi data yang muncul berbeda dengan anak dari currnode, buat node baru dan tambahkan count = 1 pada level yang sama dengan currnode, hubungkan node baru tersebut pada
43
a. Nomor Faktur B16010100001/ dengan index : 1, 2, 3, 5 dan 6 merupakan data awal yang akan diproses. Pembentukan CFP-Tree yang dapat dilihat pada gambar 3.4
Gambar 3. 4 CFP-Tree Nomor Faktur B16010100001/
1 2 3 4 5 6 Level 0 7 Level 1 Level 4 Level 5 8 9 10 Level 3 Level 2 Level 6 Level 7 Level 8 Level 9 5 6 0 1 0 1 0 1 0 1 0 1
b. Nomor Faktur B16010100002/ dengan index : 2, 4, 5 dan 6 akan membentuk CFP-Tree yang dapat dilihat pada gambar 3.5
Gambar 3. 5 CFP-Tree Nomor Faktur B16010100002/
1 2 3 4 5 6 Level 0 7 Level 1 Level 4 Level 5 8 9 10 Level 3 Level 2 Level 6 Level 7 Level 8 Level 9 5 6 0 1 0 1 0 1 0 1 0 1 4 5 6 1 1 1 1 1 1 1 1
45
c. Nomor Faktur B16010100003/ dengan index : 1, 2, 4 dan 6 akan membentuk CFP-Tree yang dapat dilihat pada gambar 3.6
Gambar 3. 6 CFP-Tree Nomor Faktur B16010100003/
Berikut adalah Global CFP-Tree yang terbentuk dari seluruh transaksi, yang diacu pada gambar 3.7.
1 2 3 4 5 6 Level 0 7 Level 1 Level 4 Level 5 8 9 10 Level 3 Level 2 Level 6 Level 7 Level 8 Level 9 5 6 0 2 0 2 0 1 0 1 0 1 4 5 6 1 1 1 1 1 1 1 1 6 0 1 0 1
1 2 3 5 6 Level 0 7 Level 1 Level 4 Level 5 8 9 10 Level 3 Level 2 Level 6 Level 7 Level 8 Level 9 0 11 0 6 1 4 3 8 0 1 0 3 4 5 7 1 6 5 0 1 5 7 8 0 1 0 1 4 5 0 1 0 1 6 10 0 1 0 1 0 1 9 0 1 8 0 1 1 7 1 1 5 0 1 6 9 1 1 7 0 2 9 10 0 1 0 2 6 0 1 8 0 1 5 1 1 1 1 3 2 0 1 4 1 1 0 1 0 1 7 0 1 0 1 101 1 9 10 0 1 4 10 11 0 1 6 0 1 3 2 3 2 0 4 1 3 G a m b ar 3. 7 G lob al C F P -Tr e e
47
3. Melakukan penggalian frequent patterns
Setelah tahap pembangunan global CFP-Tree dari sekumpulan data transaksi, tahap selanjutnya adalah membangun local CFP-Tree untuk mencari
frequent itemset. Berikut adalah langkah-langkah dari algoritma CT-Pro : 1. Lakukan penelusuran node yang berkaitan untuk mencari node yang
memenuhi minimum support count, di mana pencarian dimulai dari support count terkecil sampai dengan support count terbesar karena CT-Pro bekerja
Bottom-Up pada Global CFP-Tree. Dalam pencarian Local Frequent Pattern Tree berisikan lintasan prefix dan suffic pattern (pola akhiran). Untuk setiap pencarian suffix dilakukan dengan mencari lintasan prefix dari
suffix yang dicari.
2. Selanjutnya masukan setiap item yang memenuhi minimum support ke
local item table.
3. Berikan index baru pada node yang ada di local item table secara ascending
dari support count terbesar ke terkecil.
4. Setelah local item table terbentuk lakukan pemetaan index baru terhadap
node di local item table.
5. Setelah dilakukan pemetaan lakukan pembentukan Local CFP-Tree dengan aturan yang sama saat pembentukan Global CFP-Tree.
6. Lakukan pembentukan Local CFP-Tree projection yaitu di mana index (x) akan menjadi root dan index yang ada di localCFP-Tree menjadi anaknya, lakukan penelusuran di local CFP-Tree secara bottom-up dari node ke-i dengan menghitung count dari setiap node, jika node k memenuhi minimum
support jadikan k menjadi anak dari node ke-i. Berikut penggalian frequent patternnya :
a. Pencarian local Frequent Pattern Tree untuk index 10. Lakukan penelusuran secara bottom-up pada Global CFP-Tree yang hanya berakhiran index 10, untuk jelasnya dapat dilihat pada gambar 3.8
Gambar 3. 8 CFP-Tree Berakhiran index 10
Berikut hasil penelusuran untuk index 10 pada Global CFP-Tree yang dapat dilihat pada tabel 3.12
1 2 3 5 6 Level 0 7 Level 1 Level 4 Level 5 8 9 10 Level 3 Level 2 Level 6 Level 7 Level 8 Level 9 0 3 0 2 0 2 1 1 1 1 4 5 0 1 0 1 6 10 0 1 0 1 7 0 1 9 10 0 1 0 1 8 4 0 1 9 10 0 1 0 1 10 1 1 0 1 9 1 1
49
Tabel 3. 12 Penelusuran CFP-Tree index 10
Dari tabel 3.12 didapat jumlah support count dari setiap node yaitu 1(3), 2(3), 3(3), 4(2), 5(1), 6(1), 7(1), 8(1), 9(3) Pada node tersebut tidak ada yang memenuhi minimum support 4, maka tidak terbentuk local item table sehingga untuk local CFP-Tree dan frequent patternnya juga tidak akan terbentuk. b. Pencarian local Frequent Pattern Tree untuk index 9. Lakukan penelusuran
secara bottom-up pada Global CFP-Tree yang hanya berakhiran index 9, untuk jelasnya dapat dilihat pada gambar 3.9
Gambar 3. 9 CFP-Tree Berakhiran index 9
No Lintasan 1 10,9,4,3,2,1 2 10,9,3,2 3 10,9,8,7,3,2,1 4 10,6,5,4,1 1 2 3 5 6 Level 0 7 Level 1 Level 4 Level 5 8 9 Level 3 Level 2 Level 6 Level 7 Level 8 0 3 0 2 1 1 3 0 1 9 0 1 9 1 1 7 9 0 1 0 1 8 0 1 7 9 0 1 4 0 1 0 2 1 1 0 1
Berikut hasil penelusuran untuk index 9 pada Global CFP-Tree yang dapat dilihat pada tabel 3.13
Tabel 3. 13 Penelusuran CFP-Tree index 9
No Lintasan 1 9,4,3,2,1 2 9,3,2 3 9,8,7,3,2,1 4 9,7,3,1
Dari tabel 3.13 didapat jumlah support count dari setiap node yaitu.
1(3), 2(3), 3(4), 4(1), 7(2), 8(1). Karena minimum supportnya 4, maka node
yang memenuhi minimum support adalah 3(4). Selanjutnya node 3(4) di masukan ke local item table dengan diberikan index yaitu penomoran secara
ascending dari jumlah support count terbesar ke terkecil. Berikut merupakan
local item table yang terbentuk, dapat dilihat pada tabel 3.14 Tabel 3. 14 Local Item Table
Setelah local item tabel terbentuk, maka tahapan selanjutnya adalah memetakan node yang memenuhi nilai minimum support dengan nomor index