Hak cipta dan penggunaan kembali:
Lisensi ini mengizinkan setiap orang untuk menggubah,
memperbaiki, dan membuat ciptaan turunan bukan untuk
kepentingan komersial, selama anda mencantumkan nama
penulis dan melisensikan ciptaan turunan dengan syarat
yang serupa dengan ciptaan asli.
Copyright and reuse:
This license lets you remix, tweak, and build upon work
non-commercially, as long as you credit the origin creator
and license it on your new creations under the identical
terms.
BAB II
TINJAUAN PUSTAKA
2.1 Data Mining
Menurut Dunham (2003:5), data mining dapat diartikan sebagai penggunaan
algoritma untuk mengambil informasi dan pola yang didapat dari proses
pengambilan pengetahuan pada database. Data mining dapat dibagi menjadi
beberapa fungsi, di antaranya:
1. Klasifikasi
Klasifikasi memetakan data ke kelompok atau kelas yang telah ditentukan
sebelumnya. Klasifikasi sering disebut sebagai pembelajaran terawasi
(supervised learning) karena kelas – kelasnya sudah ditentukan sebelum
menguji data.
2. Regresi
Regresi digunakan untuk memetakan data ke sebuah variabel prediksi nilai
sesungguhnya. Dalam keadaan sebenarnya, regresi termasuk proses
mempelajari fungsi pemetaan. Regresi mengasumsi bahwa data target sesuai
dengan tipe fungsi tertentu (linier, logistik, dsb) lalu menentukan fungsi yang
dapat memodelkan data paling baik.
3. Analisa Waktu Berlanjut (Time Series Analysis)
Dengan analisa waktu berlanjut, nilai dari sebuah atribut diuji sepanjang
waktu. Nilai – nilai tersebut biasanya akan diambil dalam jangka waktu tertentu
(harian, mingguan, setiap jam, dsb). Analisa ini biasanya digunakan untuk
Optimasi Algoritma ..., Samuel Christianto, FTI UMN, 2014 ii
HALAMAN PENGESAHAN
OPTIMASI ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN RUMUS PREDIKSI RESNICK UNTUK PREDIKSI RATING PADA MODULE OPENCART
Oleh:
Nama : Samuel Christianto NIM : 10110110055 Program Studi : Teknik Informatika Fakultas : Teknologi Informasi dan Komunikasi
Tangerang, 18 Juni 2014 Ketua Sidang Dosen Penguji
Dodick Z. S., S.Kom., B.App.Sc., M.T.I Nanang Krisdianto, S.T., M.Kom. Dosen Pembimbing I, Dosen Pembimbing II
menilai kemiripan antara beberapa atribut, menilai sifat sebuah atribut, dan juga
untuk memprediksi nilai di masa yang akan datang.
4. Prediksi
Prediksi dapat dilihat sebagai sebuah jenis klasifikasi. Perbedaannya
dengan klasifikasi adalah bahwa prediksi memprediksi nilai keadaan di masa
depan bukan keadaan saat ini. Yang termasuk aplikasi prediksi di antaranya,
aplikasi pengenalan suara (speech recognition), pengenalan pola
(pattern recognition), pembelajaran mesin (machine learning), dsb.
5. Pengelompokan (Clustering)
Pengelompokan mirip dengan klasifikasi kecuali bahwa kelompok – kelompoknya tidak ditentukan sebelumnya, namun ditentukan oleh data.
Pengelompokan dapat disebut juga sebagai pembelajaran tidak terawasi
(unsupervised learning). Pengelompokan dapat dianggap sebagai proses
pembagian data menjadi beberapa kelompok sesuai dengan kemiripan antara
satu data dengan data yang lainnya. Data yang paling mirip akan dikelompokan
menjadi satu kelompok (cluster).
6. Penyimpulan (Summarization)
Penyimpulan membuat deskripsi singkat dari data, termasuk pembuatan
laporan dan tampilan. Penyimpulan akan memberikan informasi berupa
karakteristik dari isi sebuah database.
7. Aturan Asosiasi (Association Rules)
Aturan asosiasi merupakan kegiatan yang dilakukan untuk menemukan
hubungan antara satu data dengan data lainnya. Kegiatan ini biasanya
data belanja pelanggan untuk dapat menentukan barang yang paling sering
dibeli.
8. Penemuan Urutan (Sequence Discovery)
Penemuan urutan atau disebut juga analisa urutan digunakan untuk
menentukan pola urutan yang ada dalam data. Pola ini didasarkan pada urutan
waktu beberapa kejadian. Pola ini mirip dengan asosiasi antar data yang saling
berhubungan, namun hubungannya didasarkan pada waktu.
2.2 Particle Swarm Optimization
Poli (2008:1) menjelaskan bahwa Particle Swarm Optimization (PSO) adalah
algoritma yang terinspirasi dari perilaku gerakan kawanan hewan seperti
segerombolan burung atau sekawanan ikan. Pada PSO setiap individu dalam
kelompok tersebut diistilahkan dengan istilah partikel. Suatu partikel dalam ruang
memiliki posisi yang dapat dihitung kecocokannya (fitness). Setiap partikel
tersebut menentukan pergerakan selanjutnya dengan cara menghitung
kecocokannya, kecocokan individu lainnya di ruang itu, lokasi sekarang serta
beberapa angka acak yang diberikan.
PSO memiliki efisiensi kecepatan penghitungan yang lebih baik daripada
algoritma genetika. Hassan (2005:12) menyatakan bahwa bahkan pada beberapa
kasus, efisiensi yang dihasilkan oleh PSO jauh mengalahkan efisiensi kecepatan
penghitungan algoritma genetika.
Pada sistem rekomendasi, PSO menggunakan pergerakan partikel di ruang n
dimensi untuk mencari kecocokan antar partikelnya. Abraham (2006:3)
mengibaratkan data tersebut sebagai sebuah ruang pencarian dan setiap atribut
Optimasi Algoritma ..., Samuel Christianto, FTI UMN, 2014 ii
HALAMAN PENGESAHAN
OPTIMASI ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN RUMUS PREDIKSI RESNICK UNTUK PREDIKSI RATING PADA MODULE OPENCART
Oleh:
Nama : Samuel Christianto NIM : 10110110055 Program Studi : Teknik Informatika Fakultas : Teknologi Informasi dan Komunikasi
Tangerang, 18 Juni 2014 Ketua Sidang Dosen Penguji
Dodick Z. S., S.Kom., B.App.Sc., M.T.I Nanang Krisdianto, S.T., M.Kom. Dosen Pembimbing I, Dosen Pembimbing II
adalah dimensinya. Selama proses pencarian, setiap partikel dievaluasi dengan
menggunakan fungsi kecocokan.
Ujjin (2003:2) menerapkan PSO pada sebuah sistem rekomendasi untuk
mempelajari karakteristik pengguna dan memberikan prediksi yang sesuai.
Gambar 2.1 menunjukan pseudocode penerapan PSO pada sistem rekomendasi.
Gambar 2.1 Pseudocode penerapan PSO pada sistem rekomendasi
Sesuai gambar sebelumnya , sistem pertama – tama akan mencari pengguna
yang memiliki kemiripan karakteristik dengan pengguna yang sedang aktif.
Kemiripan ini dihitung dengan menggunakan rumus Euclidean seperti yang
ditunjukan pada gambar 2.2.
Gambar 2.2 Rumus Euclidean (Ujjin, 2003)
Rumus Euclidean akan menghitung kemiripan antar pengguna dengan
menghitung selisih rating yang diberikan oleh pengguna yang sedang aktif dengan
pengguna lainnya terhadap barang yang sama. Selisih rating tersebut kemudian
dikuadratkan lalu dijumlahkan sebanyak jumlah barang yang ada, untuk lalu
dihitung hasil pengakarannya.
Dari rumus Euclidean tersebut akan didapat kemiripan (jarak Euclidean)
antara pengguna yang sedang aktif dengan pengguna lainnya. Semakin kecil
jaraknya, semakin tinggi pula tingkat kemiripan mereka.
Optimasi Algoritma ..., Samuel Christianto, FTI UMN, 2014 ii
HALAMAN PENGESAHAN
OPTIMASI ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN RUMUS PREDIKSI RESNICK UNTUK PREDIKSI RATING PADA MODULE OPENCART
Oleh:
Nama : Samuel Christianto NIM : 10110110055 Program Studi : Teknik Informatika Fakultas : Teknologi Informasi dan Komunikasi
Tangerang, 18 Juni 2014 Ketua Sidang Dosen Penguji
Dodick Z. S., S.Kom., B.App.Sc., M.T.I Nanang Krisdianto, S.T., M.Kom. Dosen Pembimbing I, Dosen Pembimbing II
Setelah mendapatkan data jarak Euclidean antar pengguna, sistem akan
memilih pengguna yang mempunyai jarak lebih kecil dari threshold (batasan)
yang ditentukan untuk kemudian disimpan sebagai tetangga (neighbour).
Lalu sistem akan menghitung prediksi rating dengan rumus prediksi Breese.
Rumus ini menghitung prediksi rating berdasarkan rating yang diberikan tetangga,
rata – rata rating yang pernah diberikan pengguna aktif dan rata – rata rating yang
diberikan terhadap sebuah barang seperti yang terlihat pada gambar 2.3.
Gambar 2.3 Rumus prediksi Breese (Ujjin, 2003)
2.3 Rumus Prediksi Resnick
Rumus prediksi Resnick pertama kali dicetuskan pada tahun 1994 oleh Paul
Resnick dkk., untuk menghitung prediksi rating. Menurut O’Donovan (2005:3),
rumus ini mendasarkan perhitungannya pada rata – rata rating pengguna serta
tingkat kemiripan karakteristik mereka.
Pada tahun 2014, Majid Hatami (2014:49). Mengemukakan pengembangan
dari rumus ini, yaitu dengan turut menyertakan rata – rata rating yang diberikan
sebuah barang. Gambar 2.4 menunjukan rumus prediksi Resnick menurut Majid
Hatami tersebut.
Gambar 2.4 Rumus prediksi Resnick (Hatami, 2014)
Pada rumus ini, selisih rating yang diberikan pengguna (tetangga) terhadap
barang tertentu dengan rata – rata rating pengguna akan dikalikan dengan nilai
kesamaan (similarity). Lalu hasil tersebut akan dijumlahkan dengan hasil yang
didapat dari pengguna (tetangga) lainnya, untuk kemudian dibagi dengan jumlah
nilai kesamaan yang dimiliki pengguna (tetangga). Hasil perhitungan ini akan
dijumlahkan ddengan sebuah variabel yang bernama λ (lambda). Besar nilai λ didapatkan sesuai dengan yang ditunjukan pada gambar 2.4
berikut ini.
Gambar 2.5 Rumus perhitungan λ (lambda) (Hatami, 2014)
Optimasi Algoritma ..., Samuel Christianto, FTI UMN, 2014 ii
HALAMAN PENGESAHAN
OPTIMASI ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN RUMUS PREDIKSI RESNICK UNTUK PREDIKSI RATING PADA MODULE OPENCART
Oleh:
Nama : Samuel Christianto NIM : 10110110055 Program Studi : Teknik Informatika Fakultas : Teknologi Informasi dan Komunikasi
Tangerang, 18 Juni 2014 Ketua Sidang Dosen Penguji
Dodick Z. S., S.Kom., B.App.Sc., M.T.I Nanang Krisdianto, S.T., M.Kom. Dosen Pembimbing I, Dosen Pembimbing II
Sesuai dengan gambar 2.5 di atas, λ didapatkan dengan cara menjumlahkan
rata – rata rating sebuah barang sebanyak α (alpha) bagian dengan γ (gamma)
sebanyak sisa bagiannya. γ didapatkan dengan cara menjumlahkan rata – rata rating
yang diberikan oleh pengguna (tetangga) sebanyak β (beta) dengan rata – rata
rating yang diberikan oleh pengguna aktif sebanyak sisa bagiannya.
Besar nilai α yang digunakan pada percobaan ini adalah sebesar 0.25.
Sedangkan besar nilai β yang digunakan adalah sebesar 0.5.
2.4 OpenCart
Menurut Yilmaz (2010:14), OpenCart adalah salah satu Content Management
System (CMS) khusus untuk penjualan secara online (ecommerce). Penggunaanya
bersifat terbuka (open source) dan gratis untuk siapa saja.OpenCart menyediakan
sarana untuk membangun sebuah toko online dengan waktu yang singkat dan
dengan langkah yang intuitif.
Kita dapat menambah fungsi yang kita inginkan pada OpenCart dengan cara
menambahkan module. Module ini dibuat dalam bahasa pemrograman PHP dan