25
TINJAUAN PUSTAKA
2.1. Data Mining
Definisi sederhana dari data mining adalah ekstraksi informasi atau pola yang penting atau menarik dari data yang ada di database. Secara lengkap, Data mining merupakan serangkaian proses untuk menggali nilai tambah berupa informasi yang selama ini tidak diketahui secara manual dari suatu basis data dengan melakukan penggalian pola-pola dari tumpukan data dengan tujuan untuk memanipulasi data menjadi informasi yang lebih berharga. Menurut Berry dan Linoff (2004): “Data mining adalah mengeksplorasi dan menganalisis data dalam jumlah besar untuk menemukan pola dan rule yang berarti”. Sedangkan menurut Han dan Kamber (2001): “Data mining adalah proses menambang (mining) pengetahuan dari sekumpulan data yang sangat besar”. Data mining merupakan suatu langkah dalam Knowledge Discovery in Database (KDD). Jadi, dengan semakin berkembangnya kebutuhan akan informasi-informasi, semakin banyak pula bidang-bidang yang rnenerapkan konsep data mining. Data mining merupakan bidang dari beberapa bidang keilmuan yang menyatukan teknik dari pembelajaran mesin, pengenalan pola, statistik, database
Universitas Sumatera Utara
26
visualisai untuk penanganan permasalahan pengambilan informasi dari database yang besar (Larose, 2005). Data mining adalah analisis otomatis dari data yang berjumlah besar atau kompleks dengan tujuan untuk menentukan pola atau kecenderungan yang penting yang biasanya tidak disadari keberadaannya (Moertini, 2002). Hal-hal penting yang terkait dengan data mining adalah (Luthfi & Kusrini, 2009) : 1. Data mining merupakan suatu proses otomatis terhadap data yang sudah
ada. 2. Data yang akan diproses berupa data yang sangat besar. 3. Tujuan data mining adalah mendapatkan hubungan atau pola yang
mungkin memberikan indikasi yang bermanfaat. Hubungan yang dicari dalam data mining dapat berupa hubungan antara dua atau lebih objek dalam satu dimensi yang sama. Misalnya dalam dimensi produk dapat melihat keterkaitan pembelian suatu produk dengan produk yang lain. Selain itu, hubungan juga dapat dilihat antara dua atau lebih atribut dan dua atau lebih objek (Ponniah, 2001). Masalah-masalah yang sesuai untuk diselesaikan dengan teknik data mining dapat dicirikan dengan : 1. Memerlukan keputusan yang bersifat knowledge-based. 2. Mempunyai lingkungan yang berubah. 3. Metode yang ada sekarang bersifat sub-optimal. 4. Tersedia data yang bisa diakses, cukup dan relevan. 5. Memberikan keuntungan yang tinggi jika keputusan yang diambil
tepat.
Universitas Sumatera Utara
27
Data mining sering digunakan untuk membangun model prediksi/inferensi yang bertujuan untuk memprediksi tren masa depan atau perilaku berdasarkan analisis data terstruktur. Dalam konteks ini, prediksi adalah pembangunan dan penggunaan model untuk menilai kelas dari contoh tanpa label, atau untuk menilai jangkauan nilai atau contoh yang cenderung memiliki nilai atribut. Klasifikasi dan regresi adalah dua bagian utama dari masalah prediksi, dimana klasifikasi digunakan untuk memprediksi nilai diskrit atau nominal sedangkan regresi digunakan untuk memprediksi nilai terusmenerus atau nilai yang ditentukan (Larose, 2005). 2.1.1. Tahapan Data Mining
Dalam aplikasinya, data mining sebenarnya merupakan bagian dari Knowledge Discovery in Database (KDD), bukan sebagai teknologi yang utuh berdiri sendiri. Data mining merupakan suatu bagian langkah yang penting dalam KDD terutama berkaitan dengan ekstraksi dan perhitungan pola-pola dari data yang ditelah. Seperti yang ditunjukkan pada gambar 2.1 dibawah ini :
Universitas Sumatera Utara
28
Gambar 2.1. Tahapan Data Mining Dari gambar dapat dijelaskan proses dari data mining dari setiap tahap yaitu berikut ini: 1. Data cleaning Tahapan ini dilakukan untuk menghilangkan data noise dan data yang tidak konsisten atau relevan dengan tujuan akhir dari proses data mining. 2. Data integration Tahapan ini dilakukan untuk menggabungkan atau mengkombinasikan dari multiple data source. 3. Data selection
Universitas Sumatera Utara
29
Yang dilakukan pada tahapan ini adalah memilih atau menyeleksi data apa saja yang relevan dan diperlukan dari database. 4. Data transformation Untuk mentransformasikan data ke dalam bentuk yang lebih sesuai untuk di mining. 5. Data mining Proses terpenting dimana metode tertentu diterapkan dalam database untuk menghasilkan data pattern. 6. Pattern evaluation Untuk mengidentifikasi apakah interesting patterns yang didapatkan sudah cukup mewakili knowledge berdasarkan perhitungan tertentu. 7. Knowledge presentation Untuk mempresentasikan knowledge yang sudah didapatkan dari user.
2.1.2. Pengelompokkan Data Mining Data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan, yaitu (Larose, 2005):
Universitas Sumatera Utara
30
1.
Deskripsi Terkadang penelitian analisis secara sederhana ingin mencoba mencari cara untuk menggambarkan pola dan kecenderungan yang terdapat dalam data. Sebagai contoh, petugas pengumpulan suara mungkin tidak dapat menemukan keterangan atau fakta bahwa siapa yang tidak cukup profesional akan sedikit didukung dalam pemilihan presiden. Deskripsi dari pola dan kecenderungan sering memberikan kemungkinan penjelasan untuk suatu pola atau kecenderungan.
2.
Estimasi Estimasi hampir sama dengan klasifikasi, kecuali variabel target estimasi lebih ke arah numerik daripada ke arah kategori. Model dibangun menggunakan record lengkap yang menyediakan nilai dari variabel target sebagai nilai prediksi. Selanjutnya, pada peninjauan berikutnya estimasi nilai dari variabel target dibuat berdasarkan nilai variabel prediksi. Sebagai contoh, akan dilakukan estimasi tekanan darah sistolik pada pasien rumah sakit berdasarkan umur pasien, jenis kelamin, indeks berat badan, dan level sodium darah. Hubungan antara tekanan darah sistolik dan nilai variabel prediksi dalam proses pembelajaran akan menghasilkan model estimasi. Model estimasi yang dihasilkan dapat digunakan untuk kasus baru lainnya.
3.
Prediksi
Universitas Sumatera Utara
31
Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada di masa datang. Contoh prediksi dalam bisnis dan penelitian adalah : 1. Prediksi harga beras dalam tiga bulan yang akan datang. 2. Prediksi presentase kenaikan kecelekaan lalu lintas tahun depan jika batas bawah kecepatan dinaikkan. Beberapa metode dan teknik yang digunakan dalam klasifikasi dan estimasi dapat pula digunakan (untuk keadaan yang tepat) untuk prediksi.
4.
Klasifikasi Dalam
klasifikasi,
terdapat
target
variabel
kategori.
Sebagai
contoh,
penggolongan pendapatan dapat dipisahkan dalam tiga kategori, yaitu pendapatan tinggi, pendapatan sedang, dan pendapatan rendah. Contoh lain klasifikasi dalam bisnis dan penelitian adalah : 1. Menentukan apakah suatu transaksi kartu kredit merupakan transaksi yang curang atau bukan. 2. Memperkirakan apakah suatu pengajuan hipotek oleh nasabah merupakan suatu kredit yang baik atau buruk.
Universitas Sumatera Utara
32
3. Mendiagnosis penyakit seorang pasien untuk mendapatkan kategori penyakit apa.
5.
Pengklusteran Pengklusteran
merupakan
pengelompokan
record,
pengamatan,
atau
memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan. Cluster adalah kumpulan record yang memiliki kemiripan satu dengan yang lainnya dan memiliki ketidakmiripan dengan record-record dalam cluster lain. Pengklusteran berbeda dengan klasifikasi yaitu tidak adanya variabel target dalam pengklusteran. Pengklusteran tidak mencoba untuk melakukan klasifikasi, mengestimasi, atau memprediksi nilai dari variabel target. Akan tetapi, algoritma pengklusteran mencoba untuk melakukan pembagian terhadap keseluruhan data menjadi kelompok-kelompok yang memiliki kemiripan (homogen), yang mana kemiripan record dalam satu kelompok akan bernilai maksimal, sedangkan kemiripan dengan record dalam kelompok lain akan bernilai minimal.
Contoh pengklusteran dalam bisnis dan penelitian adalah: 1. Melakukan pengklusteran terhadap ekspresi dari gen, untuk mendapatkan kemiripan perilaku dari gen dalam jumlah besar.
Universitas Sumatera Utara
33
2. Mendapatkan kelompok-kelompok konsumen untuk target pemasaran dari suatu produk bagi perusahaan yang tidak memiliki dana pemasaran yang besar. 3. Untuk tujuan audit akuntansi, yaitu melakukan pemisahan terhadap perilaku finansial dalam baik dan mencurigakan.
6.
Asosiasi Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang belanja. Contoh asosiasi dalam bisnis dan penelitian adalah : 1. Menemukan barang dalam supermarket yang dibeli secara bersamaan dan barang yang tidak pernah dibeli secara bersamaan. 2. Meneliti jumlah pelanggan dari perusahaan telekomunikasi seluler yang diharapkan untuk memberikan respons positif terhadap penawaran upgrade layanan yang diberikan.
Universitas Sumatera Utara
34
2.2. Algoritma Apriori Algoritma apriori adalah sebuah algoritma pencarian pola yang sangat populer dalam teknik penambangan data (data mining). Algoritma ini ditujukan untuk mencari kombinasi itemset yang mempunyai suatu nilai keseringan tertentu sesuai kriteria atau filter yang diinginkan. Algoritma ini diajukan oleh R. Agrawal dan R. Srikant tahun 1994. Hasil dari algoritma apriori dapat digunakan untuk membantu dalam pengambilan keputusan pihak manajemen. Algoritma apriori melakukan pendekatan iteratif yang dikenal dengan pencarian level-wise, dimana k-itemset digunakan untuk mengeksplorasi atau menemukan (k+1)-itemset. Oleh karena itu, algoritma apriori dibagi menjadi beberapa tahap yang disebut iterasi. Tiap iterasi menghasilkan pola frekuensi tinggi (frequent itemset). Dalam menentukan suatu association rule, terdapat suatu interestingness measure (ukuran ketertarikan) yang didapatkan dari hasil pengolahan data dengan perhitungan tertentu. Umumnya ada dua ukuran, yaitu: 1. Support (nilai penunjang/pendukung): suatu ukuran yang menunjukkan seber-
apa besar tingkat dominasi suatu item/itemset dari keseluruhan transaksi. Ukuran ini menentukan apakah suatu item/itemset layak untuk dicari confidencenya (misal, dari keseluruhan transaksi yang ada, seberapa besar tingkat dominasi yang menunjukkan bahwa item A dan B dibeli bersamaan).
Universitas Sumatera Utara
35
2. Confidence (nilai kepastian/keyakinan): suatu ukuran yang menunjukkan hubun-
gan antar 2 item secara conditional (misal, seberapa sering item B dibeli jika orang membeli item A).
Kedua ukuran ini nantinya berguna dalam menentukan interesting association rules, yaitu untuk dibandingkan dengan batasan (threshold) yang ditentukan oleh user. Batasan tersebut umumnya terdiri dari min_support dan min_confidence, dimana hal tersebut ditempuh dengan cara sebagai berikut : 1. Mencari semua frequent itemset yaitu itemset dengan nilai support ≥ minimum
support yang merupakan ambang batas yang diberikan oleh user. Dimana itemset itu merupakan himpunan item yaitu kombinasi produk yang dibeli. 2. Mencari aturan asosiasi yang confidence dari frequent itemset yang didapat. 3. Sedangkan tahap selanjutnya adalah mencari rule-rule yang sesuai dengan tar-
get user yang didapat dari proses association rule mining sebelumnya. Rulerule yang didapat mendeskripsikan kombinasi itemset yang dijadikan pertimbangan di dalam membuat kesimpulan.
Secara terperinci, berikut adalah langkah-langkah proses pembentukan Association Rule dengan algoritma apriori : 1. Di iterasi pertama ini, support dari setiap item dihitung dengan men-scan data-
base. Support disini artinya jumlah transaksi dalam database yang mengandung
Universitas Sumatera Utara
36
satu item dalam C1. Setelah support dari setiap item didapat, Kemudian nilai support tersebut dibandingkan dengan minimum support yang telah ditentukan, jika nilainya lebih besar atau sama dengan minimum support maka itemset tersebut termasuk dalam large itemset. Item yang memiliki support di atas minimum support dipilih sebagai pola frekuensi tinggi dengan panjang 1 atau sering disebut Large 1-itemset atau disingkat L1. 2. Iterasi kedua menghasilkan 2-itemset yang tiap set-nya memiliki dua item. sistem
akan menggabungkan dengan cara, kandidat 2-itemset atau disingkat C2 dengan mengkombinasikan semua candidat 1-itemset (C1). Lalu untuk tiap item pada C2 ini dihitung kembali masing-masing support-nya. Setelah support dari semua C2 didapatkan, Kemudian dibandingkan dengan minimum support. C2 yang memenuhi syarat minimum support dapat ditetapkan sebagai frequent itemset dengan panjang 2 atau Large 2-itemset (L2). 3. Itemset yang tidak termasuk dalam large itemset atau yang tidak memenuhi nilai
minimum support tidak diikutkan dalam iterasi selanjutnya (di prune). 4. Setelah itu dari hasil frequent itemset atau termasuk dalam Large 2-itemset terse-
but, dibentuk aturan asosiasi (association rule) yang memenuhi nilai minimum support dan confidence yang telah ditentukan.
2.3. Algoritma FP-Growth Algoritma FP-Growth merupakan pengembangan dari algoritma Apriori. Sehingga kekurangan dari
algoritma Apriori diperbaiki oleh algoritma FP-
Growth. Frequent Pattern Growth (FP-Growth) adalah salah satu alternatif
Universitas Sumatera Utara
37
algoritma yang dapat digunakan untuk menentukan himpunan data yang paling sering muncul (frequent itemset) dalam sebuah kumpulan data. Pada algoritma Apriori diperlukan generate candidate untuk mendapatkan frequent itemsets. Akan tetapi, di algoritma FP-Growth generate candidate tidak dilakukan karena FP-Growth menggunakan konsep pembangunan tree dalam pencarian frequent itemsets. Hal tersebutlah yang menyebabkan algoritma FP-Growth lebih cepat dari algoritma Apriori.
Karakteristik algoritma FP-Growth adalah struktur data yang digunakan adalah tree yang disebut dengan FP-Tree. Dengan menggunakan FP-Tree, algoritma FP-growth dapat langsung mengekstrak frequent Itemset dari FP-Tree. Penggalian itemset yang frequent dengan menggunakan algoritma FP-Growth akan dilakukan dengan cara membangkitkan struktur data tree atau disebut dengan FP-Tree. Metode FP-Growth dapat dibagi menjadi 3 tahapan utama yaitu sebagai berikut :
1. Tahap pembangkitan conditional pattern base, 2. Tahap pembangkitan conditional FP-Tree, dan 3. Tahap pencarian frequent itemset.
Universitas Sumatera Utara
38
Dengan menggunakan algoritma FP-Growth, dapat dilakukan pencarian frequent itemset tanpa harus melalui candidate generation. FP-Growth menggunakan struktur data FP-Tree, sehingga cara kerja algoritma ini adalah melaui scan database yang dilakukan hanya dua kali saja. Data kemudian ditampilkan dalam bentuk FP-Tree, dan setelah FP-Tree terbentuk, digunakan pendekatan devide dan conquer untuk mendapatkan frequent itemset.
2.4. Market Basket Analysis
Kehadiran teknologi informasi terutama basis data dalam suatu perusahaan sudah menjadi hal yang umum bahkan mungkin menjadi kebutuhan pokok perusahaan. Basis data tersebut mulanya hanya digunakan untuk menyimpan data transaksi penjualan yang dilakukan oleh perusahaan. Tetapi dengan berkembangnya perusahaan, basis data tersebut sebenarnya memiliki informasi yang dapat dimanfaatkan oleh pihak manajemen untuk dapat meningkatkan kinerja penjualan pada perusahaan. Contoh-contoh dari pemanfaatan basis data misalnya aplikasi manajemen bisnis, pengawasan produksi dan analisa pemasaran dengan desain produksi. Untuk memperoleh pengetahuan dari basis data tersebut dapat memanfaatkan yaitu algoritma data mining. Pengertian data mining itu sendiri adalah analisis otomatis dari data yang berjumlah besar atau kompleks dengan tujuan untuk menemukan pola atau kecendrungan yang penting yang biasanya tidak disadari keberadaannya (Moertini, 2002). Data mining banyak diaplikasi di bidang-bidang usaha salah satunya
Universitas Sumatera Utara
39
diaplikasikan untuk bidang usaha retail yaitu analisis keranjang pasar atau Market Basket Analysis. Market Basket Analysis adalah suatu analisis atas perilaku konsumen secara spesifik dari suatu golongan atau kelompok tertentu. Market basket juga merupakan salah satu cara yang digunakan pada transaksi penjualan untuk merancang strategi penjualan atau pemasaran yang efektif dengan memanfaatkan data transaksi penjualan yang telah tersedia di perusahaan (Budhi et al. 2006). Market basket dapat menemukan pola yang berupa produk-produk yang dibeli bersamaan atau cenderung muncul bersama dalam sebuah transaksi. Perusahaan lalu dapat menggunakan pola ini untuk menempatkan produk yang sering dibeli bersamaan ke dalam sebuah area yang berdekatan. Sumber data dari market basket analysis dapat bersumber dari transaksi kartu kredit, kupon diskon dan juga dapat dari struk belanjaan yang didapatkan oleh konsumen. Market basket analysis umumnya dimanfaatkan sebagai titik awal pencarian pengetahuan dari suatu transaksi data yang tidak diketahui pola spesifiknya. Ide dasar dari market basket itu sendiri yaitu dari trolley ataupun keranjang belanja yang dibawa oleh konsumen untuk meletakkan belanjaan mereka ke dalam keranjang tersebut. Di dalam keranjang tersebut berisi berbagai macam produk yang menginformasikan tentang apa saja yang dibeli oleh konsumen. Dari keranjang belanja tersebut atau trolley dapat memberikan informasi kepada pihak perusahaan (apotek) berupa daftar lengkap pembelian yang dilakukan olek konsumen. Daftar lengkap pembelian ini memiliki sebuah bagian penting dari bisnis ritel seperti barang apa saja yang dibeli oleh konsumen, konsumen membeli serangkaian produk yang berbeda dengan quantity yang berbeda dan dalam kerangka
Universitas Sumatera Utara
40
waktu yang berbeda. Market basket analysis menggunakan informasi tentang apa saja yang dibeli oleh konsumen untuk menghasilkan sebuah pengetahuan untuk melakukan tindak lanjut terhadap strategi pemasaran yang telah dilakukan oleh perusahaan selama ni, apakah harus diadakan promosi untuk meningkatkan minat konsumen berbelanja di perusahaan tersebut ataupun untuk mengatur ulang tata letak produk pada perusahaan berdasarkan struk-struk belanjaan konsumen. Kelebihan dari proses market basket analysis adalah sebagai berikut: 1. Hasilnya jelas dan mudah dimengerti sebab hanya merupakan suatu pola “jikamaka”. Misalnya : jika produk A dan B dibeli secara bersamaan, maka kemungkinan produk C turut dibeli. 2. Market basket analysis sangat berguna untuk undirected mining yaitu pencarian awal pola. 3. Market basket analysis dapat memproses transaksi tanpa harus kehilangan informasi sebab dapat memproses banyak variabel tanpa perlu dirangkum (summarization) terlebih dahulu. 4. Proses komputasi yang lebih muda daripada teknik yang kompleks seperti algoritma genetik & sistem syaraf, meskipun jumlah perhitungan akan meningkat pesat bersamaan dengan peningkatan jumlah transaksi dan jumlah items yang berbeda dalam analisis.
Adapun kekurangan dari proses market basket analysis adalah sebagai berikut:
Universitas Sumatera Utara
41
1. Tingkat pertumbuhan proses secara eksponensial sebagai akibat pertumbuhan ukuran data. 2. Memilki keterbatasan untuk atribut data, misalnya hanya berdasarkan tipe produk. 3. Sulit untuk menemukan items yang akan diolah secara tepat, sebab frekuensi dari item tersebut harus diusahakan seimbang
2.5. Visual Basic Net
Microsoft Visual Basic. NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa Basic. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP. NET, dan juga aplikasi command-line. Bahasa Visual Basic. NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Visual Basic yang sekarang digunakan oleh jutaan programmer adalah berawal dari sebuah Bahasa pemrograman yang diciptakan oleh Prof. Jhon Kemeny dan
Universitas Sumatera Utara
42
Thomas Kurtz pada tahun 1964 dengan nama BASIC yang kepanjangan dari Beginner All Purpose Symbolic Intruction Code. Bahasa BASIC ini tergolong bahasa pemrograman yang paling mudah dipelajari.
2.5.1 Visual
Kelebihan Visual Basic Net Basic
mempunyai
banyak
kelebihan
dibandingkan
Software/bahasa
pemograman yang lain. Di antaranya adalah :
VB.NET mengatasi semua masalah yang sulit disekitar pengembangan aplikasi berbasis windows.
Cocok digunakan untuk mengembangkan aplikasi/program yang bersifat “Rapid Application Development”.
Sangat cocok digunakan untuk membuat program/aplikasi Bisnis.
Digunakan oleh hampir semua keluarga Microsoft Office sebagai bahasa Macro-nya, segera akan diikuti oleh yang lain.
Mendekati Object Oriented Programming.
Dapat di integrasikan dengan Internet, baik itu pada sisi Client maupun pada sisi Server
Universitas Sumatera Utara
43
Dapat menjalankan server tersebut dari mesin yang sama atau bahkan dari mesin/komputer yang lain.
2.5.2 Kekurangan Visual Basic Net Visual Basic juga mempunyai kekurangan/kelemahan, yaitu :
Visual Basic (VB) tidak memiliki database sendiri dan biasanya VB mengunakan database seperti : mysql, sql server, microsoft access.
VB tidak punya pendukung untuk membuat report dari bawaan VB sendiri
Program/aplikasi yg dibuat dgn VB.Net harus menggunakan .Net Framework untuk menjalaninya
Visual Basic. NET bukan merupakan bahasa pemprograman yang open source, sehingga akan sulit bagi programmer untuk lebih mendalami VB. NET secara lebih independen.
Universitas Sumatera Utara