• Tidak ada hasil yang ditemukan

IMPLEMENTASI USER COLLABORATIVE FILTERING UNTUK REKOMENDASI PEMBELIAN BARANG MENGGUNAKAN ALGORITMA COSINE SIMILARITY (STUDI KASUS: WEB E-COMMERCE XYZ)

N/A
N/A
Protected

Academic year: 2022

Membagikan "IMPLEMENTASI USER COLLABORATIVE FILTERING UNTUK REKOMENDASI PEMBELIAN BARANG MENGGUNAKAN ALGORITMA COSINE SIMILARITY (STUDI KASUS: WEB E-COMMERCE XYZ)"

Copied!
116
0
0

Teks penuh

(1)

IMPLEMENTASI USER COLLABORATIVE FILTERING UNTUK REKOMENDASI PEMBELIAN BARANG MENGGUNAKAN ALGORITMA COSINE SIMILARITY

(STUDI KASUS: WEB E-COMMERCE XYZ)

Skripsi

Oleh:

ZAINAL MUTTAQIN 1113091000049

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA

2019 M / 1440 H

(2)

IMPLEMENTASI USER COLLABORATIVE FILTERING UNTUK REKOMENDASI PEMBELIAN BARANG MENGGUNAKAN ALGORITMA COSINE SIMILARITY

(STUDI KASUS: WEB E-COMMERCE XYZ)

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer (S.Kom)

Oleh:

ZAINAL MUTTAQIN 1113091000049

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA

2019 M / 1440 H

(3)
(4)
(5)
(6)

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

Sebagai civitas akademik UIN Syarif Hidayatullah Jakarta, saya yang bertanda tangan di bawah ini:

Nama : Zainal Muttaqin

NIM : 1113091000049

Program Studi : Teknik Informatika Fakultas : Sains dan Teknologi Jenis Karya : Skripsi

demi pembuatan ilmu pengetahuan, menyetujui untuk memberikan kepada UIN Syarif Hidayatullah Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive Royalti Free Right) atas karya ilmiah yang berjudul:

IMPLEMENTASI USER COLLABORATIVE FILTERING UNTUK REKOMENDASI PEMBELIAN BARANG MENGGUNAKAN ALGORITMA COSINE SIMILARITY

(STUDI KASUS : WEB E-COMMERCE XYZ)

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Noneksklusif ini UIN Syarif Hidayatullah Jakarta berhak menyimpan, mengalihmedia/ formatkan, mengelola dalam bentuk pangkalan data (database), merawat, dan mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai penulis/ pencipta dan sebagai pemilik Hak Cipta. Demikian pernyataan ini saya buat dengan sebenarnya.

Tangerang Selatan, 8 Mei 2019 Yang menyatakan

Zainal Muttaqin

(7)

KATA PENGANTAR

Puji syukur peneliti panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat, taufik serta hidayah-Nya sehingga peneliti dapat menyelesaikan skripsi ini. Proses penyelesaian skripsi ini tidak lepas dari bantuan, dukungan, saran, serta kritik dari berbagai pihak, oleh karena itu peneliti ingin menyampaikan terima kasih kepada :

1. Allah SWT yang telah memberikan nikmat, rahmat, dan karunia-Nya kepada peneliti.

2. Kepada keluarga, khususnya Umik dan Adik-adik peneliti yang senantiasa memberikan doa, dukungan, dan motivasi kepada peneliti. Terima kasih banyak.

3. Prof. Dr. Hj. Amany Burhanuddin Umar Lubis, Lc., M.A., selaku Rektor UIN Syarif Hidayatullah Jakarta.

4. Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud., selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

5. Ibu Arini, M.T., selaku Ketua Program Studi Teknik Informatika.

6. Ibu Dewi Khairani, M.Sc., selaku Dosen Pembimbing I dan Ibu Luh Kesuma Wardhani, M.T., selaku Dosen Pembimbing II yang telah memberikan bimbingan, masukan, serta saran sehingga skripsi ini dapat diselesaikan dengan baik.

7. Bapak Dr. Imam Marzuki Shofi dan Ibu Siti Ummi Masruroh, M.Sc. selaku Dosen Penguji I dan II yang telah memberikan ilmu, masukan, kritik, dan saran yang membangun.

8. Abdurrahman, teman seperjuangan, satu bimbingan, dan juga satu topik, yang telah banyak membantu dalam penetian kali ini.

9. Adhyaksa Herdhianto, Arif Rahman, Luvian, Ikum, dan Chintya yang selalu mengingatkan dan memberi support setiap hari dan telah banyak membantu meluangkan waktu dan tenaganya demi kelancaran penelitian.

(8)

vii

10. Rekan-rekan mahasiswa Program Studi Teknik Informatika angkatan 2013, khususnya kelas Teknik Informatika (TI) B yang telah memberikan masukan, dorongan, dan motivasi kepada peneliti.

11. Semua pihak yang tidak dapat peneliti sebut satu persatu yang telah membantu dalam penyelesaian penelitian skripsi ini.

Akhirnya, dengan segala kerendahan hati peneliti menyadari masih banyak terdapat kekurangan-kekurangan, sehingga peneliti mengharapkan adanya saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini.

Tangerang Selatan, 8 Mei 2019

Zainal Muttaqin

(9)

Nama : Zainal Muttaqin Program Studi : Teknik Informatika

Judul : Implementasi User Collaborative Filtering untuk Rekomendasi Pembelian Barang Menggunakan Algoritma Cosine Similarity (Studi Kasus : Web E-Commerce XYZ)

ABSTRAK

Trend penggunaan internet mengalami peningkatan setiap tahunnya. Data mencatat pengguna internet di Indonesia meningkat lebih dari 50% pada tahun 2018 dibanding 2 tahun sebelumnya. Hal tersebut menyebabkan banyaknya informasi yang tersebar, termasuk pada e-commerce, yang menyebabkan pengguna membutuhkan waktu lebih lama untuk menemukan barang yang diinginkan. Studi kasus yang dilakukan peneliti menemukan bahwa website e-commerce XYZ masih menampilkan rekomendasi barang secara manual, sehingga diperlukan sistem rekomendasi agar dapat menampilkan hasil rekomendasi barang yang sesuai dengan minat pengguna. Tujuan penelitian ini adalah untuk mengetahui keakuratan rekomendasi barang yang dihasilkan terhadap pengguna dengan mengimplementasikan user collaborative filtering (UCF) menggunakan algoritma cosine similarity. Analisis berdasarkan hasil pengujian yang dilakukan peneliti berdasarkan 3 skenario yaitu 3, 5 dan all neighbor, UCF dengan algoritma cosine similarity memberikan hasil rekomendasi terbaik saat dilakukan pengujian berdasarkan skenario 3 neighbor yang memiliki rata-rata nilai precision 0.758 yang berarti akurat, dengan rata-rata tingkat error 0.9147. Dapat disimpulkan, semakin rendah jumlah neighbor yang diambil maka hasil uji precision semakin efektif dan nilai tingkat error MAE semakin rendah.

Kata Kunci : Sistem Rekomendasi, User Collaborative filtering, Cosine Similarity, e-Commerce, Similarity

Jumlah Halaman : XVII + 98 Halaman

(10)

Author : Zainal Muttaqin

Major : Informatic Engineering

Title : User Collaborative Filtering Implementation for Purchase Recommendations Using Cosine Similarity Algorithm (Case Study: XYZ E-Commerce Web)

ABSTRACT

The trend of internet usage has increased every year. Data noted that internet users in Indonesia increased by more than 50% in 2018 compared to the previous 2 years.

This causes a lot of information to spread, including on e-commerce, which causes users to take longer to find the desired item. The case study conducted by the researcher found that the XYZ e-commerce website still displays product recommendations manually, so a recommendation system is needed so that it can display the product recommendations according to the user's interests. The purpose of this study was to determine the accuracy of the recommendations of the goods produced against users by implementing user collaborative filtering (UCF) using the cosine similarity algorithm. Analysis based on the results of testing conducted by researchers based on 3 scenarios, 3, 5 and all neighbors, UCF with the cosine similarity algorithm gives the best results when testing based on 3 neighbor scenarios which have a precision value of 0.758 which means accurate, with an average error level 0.9147. It can be concluded, the lower the number of neighbors chosen, the precision test results will be more effective and the value of the MAE error level will be lower.

Keywords : Recommender System, User Collaborative Filtering, Cosine Similarity, e-Commerce, Similarity

Number of Pages : XVII + 98 Pages

(11)

DAFTAR ISI

PERNYATAAN ORISINALITAS ... ii

LEMBAR PERSETUJUAN ... iii

LEMBAR PENGESAHAN ... iv

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ... v

KATA PENGANTAR ... vi

ABSTRAK ... viii

ABSTRACT ... ix

DAFTAR ISI ... x

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xv

DAFTAR LAMPIRAN ... xvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang... 1

1.2 Tujuan Penelitian ... 5

1.3 Manfaat Penelitian ... 5

1.3.1 Bagi Pengguna ... 5

1.3.2 Bagi Peneliti ... 5

1.3.3 Bagi Universitas ... 5

1.4 Rumusan Masalah ... 6

1.5 Batasan Masalah ... 6

1.6 Metodologi Penelitian ... 6

1.6.1 Metode Pengumpulan Data ... 6

1.6.2 Metode Pengimplementasian ... 7

1.7 Sistematika Penulisan ... 7

BAB II LANDASAN TEORI ... 9

2.1 Sistem Rekomendasi ... 9

2.1.1 Pengertian Sistem Rekomendasi ... 9

2.1.2 Proses Sistem Rekomendasi ... 10

2.2 Metode Sistem Rekomendasi ... 11

(12)

xi

2.2.1 Content Based (CB) ... 11

2.2.2 Collaborative Filtering (CF) ... 11

2.2.3 Hybrid Recommender System ... 12

2.3 Metode Collaborative Filtering ... 12

2.3.1 User Collaborative Filtering (UCF) ... 15

2.3.2 Item Collaborative Filtering (ICF) ... 15

2.4 Proses Collaborative Filtering ... 16

2.4.1 Information Collection Phase ... 17

2.4.2 Learning Phase ... 18

2.4.2.1. Cosine Similarity ... 18

2.4.2.2. Pearson’s Colleration Coefficient ... 19

2.4.3 Prediction / Recommendation Phase ... 20

2.5 E-Commerce ... 20

2.6 Laravel ... 21

2.7 XAMPP ... 22

2.8 MySQL ... 23

2.9 Skala Penilaian ... 24

2.9.1 Skala Likert ... 24

2.9.2 Skala Guttman ... 25

2.9.3 Skala Rating ... 25

2.10 Evaluasi Sistem Rekomendasi ... 26

2.10.1 Precision ... 27

2.10.2 Efektifitas Precision ... 28

2.10.3 Mean Absolute Error (MAE) ... 28

2.11 Metode Pengumpulan Data ... 29

2.11.1 Studi Pustaka ... 29

2.11.2 Observasi ... 30

2.12 Literatur Sejenis... 30

BAB III METODE PENELITIAN ... 35

3.1 Alur Penelitian ... 35

3.2 Identifikasi Masalah ... 36

(13)

xii

3.3 Metode Pengumpulan Data ... 36

3.3.1 Studi Literatur ... 36

3.3.2 Observasi ... 36

3.4 Data Penelitian... 37

3.5 Metode Implementasi ... 38

3.5.1 Data Collection and Preprocessing ... 38

3.5.2 Pattern Discovery and Analysis ... 38

3.5.3 Recommendation ... 38

3.6 Skenario Pengujian ... 38

BAB IV ANALISIS DAN IMPLEMENTASI ... 40

4.1 Analisis Permasalahan ... 40

4.2 Analisis Kebutuhan Sistem... 41

4.3 Analisis Kebutuhan Data ... 41

4.4 Analisis Metode ... 42

4.4.1 Data Collection and Prepocessing ... 43

4.4.2 Pattern Discovery and Analysis ... 43

4.4.3 Recommendation ... 46

4.5 Alur Proses User Collaborative Filtering (UCF) ... 46

4.6 Proses Pemunculan Hasil Rekomendasi ... 48

4.7 Implementasi User Collaborative Filtering (UCF) ... 53

4.7.1 Information Collection Phase ... 53

4.7.2 Learning Phase ... 53

4.7.3 Prediction / Recommendation Phase ... 58

4.8 Perancangan Tabel... 60

4.9 Analisis Pengujian ... 61

4.9.1 Precision ... 61

4.9.2 Mean Absolute Error (MAE) ... 62

4.9.3 Skenario Pengujian ... 63

BAB V HASIL DAN PEMBAHASAN ... 65

5.1 Hasil Implementasi ... 65

5.2 Pengujian Hasil Rekomendasi ... 70

(14)

xiii

5.2.1 Pengujian Precision ... 72

5.2.2 Pengujian Mean Absolute Error (MAE) ... 82

5.3 Kesimpulan Hasil Pengujian ... 85

BAB VI KESIMPULAN DAN SARAN ... 88

6.1 Kesimpulan ... 88

6.2 Saran ... 89

DAFTAR PUSTAKA ... 90

LAMPIRAN-LAMPIRAN ... 94

(15)

DAFTAR TABEL

Tabel 2.1 Tingkatan Efektifitas Nilai Precision ... 28

Tabel 2.2 Literatur Sejenis ... 31

Tabel 4.1 Matriks User-Item ... 56

Tabel 4.2 Hasil Review Matrix ... 57

Tabel 4.3 Hasil Nilai Similarity ... 57

Tabel 4.4 Contoh Tabel Precision Hasil Rekomendasi ... 62

Tabel 5.1 Nilai Similarity Antar Pengguna ... 71

Tabel 5.2 Hasil Uji Precision Berdasarkan Skenario 3 Neighbors ... 73

Tabel 5.3 Hasil Uji Precision Berdasarkan Skenario 5 Neighbors ... 74

Tabel 5.4 Hasil Uji Precision Berdasarkan Skenario All Neighbors ... 75

Tabel 5.5 Hasil Rekomendasi Barang untuk User 1 (3 Neighbors) ... 78

Tabel 5.6 Hasil Rekomendasi Barang untuk User 1 (5 Neighbors) ... 78

Tabel 5.7 Hasil Rekomendasi Barang untuk User 1 (All Neighbors) ... 79

Tabel 5.8 Hasil Uji MAE Berdasarkan Skenario 3 Neighbors ... 82

Tabel 5.9 Hasil Uji MAE Berdasarkan Skenario 5 Neighbors ... 83

Tabel 5.10 Hasil Uji MAE Berdasarkan Skenario All Neighbors ... 84

Tabel 5.11 Hasil Uji Precision Penelitian Sebelumnya ... 86

Tabel 5.12 Hasil Uji MAE Berdasarkan Skenario All Neighbors ... 87

(16)

DAFTAR GAMBAR

Gambar 1.1 Data Aktivitas E-Commerce dalam 30 Hari Terakhir ... 3

Gambar 2.1 Alur Metode Sistem Rekomendasi Berbasis Web ... 10

Gambar 2.2 Perbandingan Collaborative Filtering dengan Content-Based ... 12

Gambar 2.3 Alur Metode Collaborative Filtering ... 14

Gambar 2.4 Matrix User-Item Collaborative Filtering ... 14

Gambar 2.5 Ilustrasi Perbedaan UCF dengan ICF ... 15

Gambar 2.6 Recommendation Phase ... 16

Gambar 2.7 Alur kerja Model-View-Controller ... 22

Gambar 3.1 Alur Penelitian... 35

Gambar 4.1 Flowchart Implementasi Metode Penelitian ... 42

Gambar 4.2 Pengaruh Rating Terhadap Hasil Rekomendasi ... 45

Gambar 4.3 Flowchart User Collaborative Filtering ... 47

Gambar 4.4 Flowchart Pemunculan Hasil Rekomendasi ... 48

Gambar 4.5 Halaman Login ... 49

Gambar 4.6 Halaman Home ... 49

Gambar 4.7 Halaman Detail Product... 50

Gambar 4.8 Halaman Shopping Cart ... 50

Gambar 4.9 Halaman Checkout ... 51

Gambar 4.10 Halaman Konfirmasi Pesanan ... 51

Gambar 4.11 Halaman Rating Product ... 52

Gambar 4.12 Halaman Home yang Menampilkan Hasil Rekomendasi ... 52

Gambar 4.13 Entity Relationship Diagram ... 60

Gambar 5.1 Halaman Login Web E-Commerce XYZ ... 65

Gambar 5.2 Halaman Beranda Web E-Commerce XYZ ... 66

Gambar 5.3 Halaman Detail Barang Web E-Commerce XYZ ... 66

Gambar 5.4 Halaman Keranjang Belanja Web E-Commerce XYZ ... 67

Gambar 5.5 Halaman Checkout Web E-Commerce XYZ ... 68

Gambar 5.6 Halaman Konfirmasi Pembayaran Web E-Commerce XYZ ... 68 Gambar 5.7 Halaman Konfirmasi Penerimaan Barang Web E-Commerce XYZ . 69

(17)

xvi

Gambar 5.8 Halaman Rating Product Web E-Commerce XYZ ... 69

Gambar 5.9 Halaman Barang Rekomendas Web E-Commerce XYZ ... 69

Gambar 5.10 Grafik Perbandingan Jumlah Barang Hasil Rekomendasi ... 76

Gambar 5.11 Grafik Perbandingan Hasil Uji Precision... 77

Gambar 5.12 Perbandingan Hasil Uji Mean Absolute Error (MAE)... 85

(18)

DAFTAR LAMPIRAN

Lampiran 1 Source Code ... 94

(19)

BAB I PENDAHULUAN 1.1 Latar Belakang

Islam mengajarkan kepada manusia untuk selalu menjaga hubungan dengan Allah (Ḥabl min Allāh) dan menjaga hubungan sesama manusia (Ḥabl min al-Nās).

Untuk menjalin Ḥabl min al-Nās hal yang biasa dilakukan adalah ber-mu‘āmalah, dimana salah satu contohnya adalah jual beli. Allah SWT berfirman dalam al- Qur’an:

َء َنيِ ذ لَّٱ اَهُّيَ

أََٰٓي وُلُكۡ

أَت لَ ْاوُنَماَ مُكَلَٰ َوۡمَ

ۡۚۡمُكنِ م ٖضاَرَت نَع ًةَرَٰ َجِت َنوُكَت نَ أ ْا أ ذ

لَِإ ِلِطَٰ َبۡلٱِب مُكَنۡيَب

اٗميِحَر ۡمُكِب َنَكَ َ ذللَّٱ ذنِإ ۡۚۡمُكَسُفنَأ ْا وُلُتۡقَت َلََو ٢٩

Artinya: “Wahai orang-orang yang beriman! Janganlah kamu saling memakan harta sesamamu dengan jalan yang batil (tidak benar), kecuali dalam perdagangan yang berlaku atas dasar suka sama suka di antara kamu. Dan janganlah kamu membunuh dirimu. Sungguh, Allah Maha Penyayang kepadamu.” (Q.S. An-Nisa:29)

Pada ayat diatas dijelaskan bahwa manusia diberi hak oleh Allah atas kepemilikan harta benda, dan dapat memiliki harta benda yang bukan miliknya dengan jalan perniagaan yang telah ditentukan. Jual beli adalah salah satu contoh perniagaan yang hukum dasar nya adalah boleh. Semakin berkembangnya teknologi, transaksi jual beli tidak hanya dilakukan secara konvensional, namun juga dilakukan secara online. Sebagai manusia cita-cita tertinggi di dunia adalah menjadi manusia yang bermanfaat. Banyak hal yang dapat dilakukan untuk membantu mewujudkan cita-cita tersebut, diantaranya membantu manusia dengan memberi fasilitas yang dapat memudahkan dalam bertransaksi jual beli.

الله ىَّلَص ِالله ُلوُسَر لاق : َلاَق ،اَمُهْ نَع الله َيِضَر ،رباج ِنَع ِساَّنلِل ْمُهُعَفْ نَأ ِساَّنلا ُْيَْخ :مَّلَسو هيَلَع

Artinya: “Jābir raḍiya Allāhu ‘anhumā bercerita bahwa Rasulullah SAW bersabda:

Sebaik-baik manusia adalah yang paling bermanfaat bagi manusia.” Hadits dihasankan oleh al-Albāni di dalam Ṣaḥīh al-Jāmi’ (no. 3289)

(20)

2

Pengguna internet di dunia dari tahun ke tahun mengalami peningkatan.

Berdasarkan data dari Internet World Stats, Indonesia merupakan salah satu negara yang cepat mengalami pertumbuhan pengguna internet. Negara Indonesia yang memiliki populasi 265,4 juta orang, memiliki pengguna internet (pertanggal 31 Januari 2018) berjumlah 132,7 juta orang, dengan pengguna aktif 79% setiap hari.

Pengguna internet tersebut meningkat 44,6 juta orang atau lebih dari 50% jika dibandingkan pada awal tahun 2016 yang berjumlah 88,1 juta. (We Are Social, 2018)

Meningkatnya pengguna internet membuat pertumbuhan usaha perdagangan berbasis online atau e-commerce (electronic commerce) di Indonesia turut meningkat. Dikutip dari Liputan6.com (2017), Ketua Umum Indonesian E- Commerce Association (idEA), Aulia E. Marinto menjelaskan bahwa berdasarkan Data Sensus Ekonomi 2016 dari Badan Pusat Statistik pertumbuhan e-commerce yang ada di Indonesia mencapai 26,2 juta unit, meningkat 10% dalam kurun waktu 10 tahun.

Beberapa faktor yang membuat jumlah e-commerce di Indonesia meningkat diantaranya adalah teknologi yang digunakan bersifat global, biaya rendah, peluang menjangkau ratusan juta orang, dan bersifat interaktif. Sehingga hal ini memberikan manfaat bagi perusahaan atau pemilik usaha e-commerce, seperti memperluas market place hingga ke pasar nasional dan internasional, dan juga memberi manfaat bagi konsumen misalnya e-commerce lebih menawarkan banyak pilihan dan dapat diakses selama 24 jam sehari sepanjang tahun dari hampir setiap lokasi (Suyanto, 2003).

Banyak faktor yang mempengaruhi minat konsumen untuk tetap berbelanja di suatu e-commerce, diantaranya kepuasan pelanggan, kepercayaan, loyalitas pelanggan serta faktor lainnya (Suyanto, 2003). Dan menurut Gündüz-Ögüdücü (2011) sistem rekomendasi bermanfaat untuk meningkatkan perhatian dan kesetiaan pelanggan pada situs web e-commerce, mengubah pengunjung website menjadi pembeli, meningkatkan penjualan dengan merekomendasikan item terkait

(21)

3

ke pengguna aktif, dan membantu pengguna menemukan informasi yang relevan di situs website.

Hasil riset yang dilakukan oleh Global Web Index pada kuartal 2 & 3 tahun 2017 menyebutkan bahwa 45% pengguna internet di Indonesia mencari barang atau jasa yang akan dibeli secara online, 45% mengunjungi toko online, dan 40%

membeli barang atau jasa secara online (We Are Social, 2018).

Gambar 1.1 Data Aktivitas E-Commerce dalam 30 Hari Terakhir (We Are Social, 2018)

Semakin bertambahnya e-commerce, secara langsung membuat informasi produk yang ada di internet semakin meningkat, dimana pengguna memerlukan waktu lebih untuk mencari barang yang diinginkan. Knijnenburg et al. (2012) menyebutkan bahwa sistem rekomendasi dapat menganalisis data pengguna, menyaring konten halaman web, dan merekomendasikan informasi. Sistem rekomendasi menganalisis data yang ada untuk menemukan hubungan antara produk dan pengguna. Hasil yang diterima akan ditampilkan sebagai rekomendasi, sehingga dapat membantu pengguna untuk menemukan barang yang diinginkan dengan lebih cepat.

(22)

4

Website e-commerce XYZ adalah salah satu website toko online yang menyediakan berbagai macam barang. Website tersebut juga menampilkan rekomendasi barang, namun masalahnya barang rekomendasi yang ditampilkan secara random tanpa melalui perhitungan sistem rekomendasi. Akibatnya, belum tentu barang rekomendasi yang ditampilkan akan disukai oleh pengguna. Karena pengguna memiliki minat dan kesukaan yang berbeda-beda, sehingga untuk mengetahui hal tersebut, diperlukan sebuah sistem yang dapat menganalisis dan memberikan hasil rekomendasi yang sesuai dengan minat pengguna.

Saat ini, sistem rekomendasi akrab bagi siapa saja yang menjelajahi website di Internet. Ada banyak contoh sistem rekomendasi, untuk website toko online seperti Amazon, dan untuk situs rekomendasi film seperti Moviefinder, Movielens atau Netflix. Website Alexa Rank juga memiliki semacam sistem rekomendasi untuk web, dalam bentuk “related sites” atau “situs terkait”. (Gündüz-Ögüdücü, 2011)

Seperti yang dikatakan Merville dan Sindhwani (2010), tujuan dari sistem rekomendasi adalah untuk menghasilkan rekomendasi barang atau produk yang bermanfaat bagi kumpulan pengguna yang mungkin menarik bagi mereka. Salah satu metode sistem rekomendasi yang digunakan untuk menghasilkan rekomendasi adalah collaborative filtering (CF). Metode CF melakukan perhitungan dengan sederhana, pengguna cukup mengekspresikan preferensi dengan cara memberi rating terhadap suatu item (seperti buku, film, atau CD) kemudian sistem akan memberikan rekomendasi kepada pengguna.

User collaborative filtering (UCF) adalah metode CF yang mengasumsikan bahwa cara yang baik untuk menemukan item yang menarik bagi user tertentu adalah dengan mencari user lain yang memiliki minat yang sama. (Yu, 2015).

Untuk mengukur kemiripan antara user satu dengan yang lain dapat dihitung menggunakan algoritma tertentu, dan cosine similarity adalah salah satu algoritma yang dapat diterapkan pada penelitian ini. Pradnyana dan Sanjaya (2012) cosine similarity merupakan algoritma yang digunakan untuk menghitung similarity (tingkat kesamaan) antar dua buah objek.

(23)

5

Melihat permasalahan yang ada serta manfaat yang dapat diambil dari sistem rekomendasi, peneliti memutuskan untuk melakukan riset dengan menerapkan metode user collaborative filtering untuk menampilkan hasil rekomendasi berupa produk yang akan dibeli oleh pengguna. Peneliti memberi judul riset ini

“Implementasi User Collaborative Filtering untuk Rekomendasi Pembelian Barang Menggunakan Algoritma Cosine Similarity (Studi Kasus: Web E- Commerce XYZ)”.

1.2 Tujuan Penelitian

Tujuan penelitian ini adalah untuk mengetahui seberapa efektif hasil rekomendasi barang yang dihasilkan terhadap pengguna dengan mengimplementasikan user collaborative filtering menggunakan algoritma cosine similarity.

1.3 Manfaat Penelitian 1.3.1 Bagi Pengguna

1. Membantu pengguna untuk menemukan barang yang akan dicari berdasarkan hasil rekomendasi yang disarankan.

1.3.2 Bagi Peneliti

1. Mendapatkan ilmu dalam menerapkan sistem rekomendasi.

2. Mendapatkan pemahamaan algoritma terkait tentang mencari kemiripan pengguna

3. Turut aktif dalam pengembangan teknologi terkait di Indonesia.

1.3.3 Bagi Universitas

1. Mengetahui kemampuan mahasiswa dalam menguasai materi selama masa perkuliahan.

2. Sebagai bahan evaluasi dengan mengukur kemampuan mahasiswa dalam menerapkan ilmunya.

3. Memberikan gambaran tentang kesiapan mahasiswa dalam menerapkan ilmu yang diterimanya.

(24)

6

1.4 Rumusan Masalah

Atas dasar permasalahan yang telah dipaparkan di latar belakang, maka dapat dirumuskan bahwa permasalahan yang akan dibahas adalah, “Bagaimana mengimplemetasikan metode user collaborative filtering pada web e-commerce XYZ untuk merekomendasikan pembelian barang menggunakan algoritma cosine similarity?”.

1.5 Batasan Masalah

Berdasarkan permasalahan yang ada, maka peneliti membatasi masalah dalam penelitian ini, yaitu:

1. Hanya mengambil data rating dari barang yang telah diberi nilai (rate) oleh user.

2. Jumlah suatu item yang dibeli oleh beberapa pengguna, tidak mempengaruhi hasil perhitungan rekomendasi.

3. Pengujian tidak dilakukan untuk mengetahui kecepatan waktu yang dibutuhkan untuk menghasilkan rekomendasi.

4. Database sistem menggunakan MySQL

5. Implementasi dilakukan dalam bentuk aplikasi web dengan menggunakan bahasa pemrograman PHP.

1.6 Metodologi Penelitian

1.6.1 Metode Pengumpulan Data

Metode yang digunakan peneliti untuk mendapatkan data dan fakta dalam menguraikan masalah pada penilitian ini meliputi:

1. Studi Literatur

Peneliti mengumpulkan data dari karya tulis yang relefan dengan permasalahan yang peneliti temukan. Hal ini diakukan untuk menambah referensi, sehingga dapat dipelajari sebagai landasan teori mengenai permasalahan yang ada serta digunakan sebagai literatur pembanding dalam penelitian kali ini.

(25)

7

2. Observasi

Peneliti melakukan observasi terhadap website e-commerce XYZ.

Observasi dilakukan untuk mendapatkan fakta permasalahan yang ada.

Observasi juga dilakukan untuk mendapatkan data rating belanja yang ada pada website tersebut.

1.6.2 Metode Pengimplementasian

Dalam mengimplementasikan metode user collaborative filtering untuk merekomendasikan barang, peneliti menggunakan metodologi sistem rekomendasi yang melakukan user modeling berdasarkan teknik penggalian data pada web, yang memiliki proses berikut (Gündüz-Ögüdücü, 2011):

1. Data Collection and Preprocessing 2. Pattern Discovery and Analysis 3. Recommendation.

1.7 Sistematika Penulisan

Dalam penyusunan skripsi ini, pembahasan terbagi dalam lima bab yang secara singkat akan diuraikan sebagai berikut:

BAB I PENDAHULUAN

Dalam bab ini menerangkan tentang hal umum tentang permasalahan dasar, yaitu latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini berisi penjelasan secara rinci mengenai konsep dari teori-teori yang digunakan dalam penyusunan skripsi ini.

BAB III METODE PENELITIAN

(26)

8

Berisi tentang uraian secara rinci metode penilitian yang digunakan. Metode tersebut meliputi metode pengumpulan data dan metode pengembangan sistem.

BAB IV ANALISIS DAN IMPLEMENTASI

Bab ini membahas analisis terhadap kebutuhan sistem, perancangan, dan implementasi pengembangannya.

BAB V HASIL DAN PEMBAHASAN

Bab ini berisi hasil dari implementasi yang didapat dari penelitian serta pembahasan terkait dengan pengujian yang dilakukan peneliti.

BAB VI PENUTUP

Dalam bab ini berisi kesimpulan dari hasil implementasi serta pengujian beserta saran yang sebaiknya dilakukan untuk penelitian selanjutnya.

(27)

BAB II LANDASAN TEORI 2.1 Sistem Rekomendasi

Tujuan dari sistem rekomendasi adalah untuk menghasilkan rekomendasi barang atau produk yang bermanfaat bagi kumpulan pengguna yang mungkin menarik bagi mereka. Saran buku di Amazon, atau film di Netflix, adalah contoh nyata dari pengoperasian sistem rekomendasi dalam dunia industri. Desain mesin rekomendasi tersebut tergantung pada domain dan karakteristik khusus dari data yang tersedia. (Merville & Sindhwani, 2010)

2.1.1 Pengertian Sistem Rekomendasi

Menurut Ricci, dkk (2011) sistem rekomendasi adalah perangkat lunak yang menyediakan saran untuk barang-barang yang akan berguna bagi pengguna. Saran yang diberikan ditujukan untuk mendukung pengguna dalam berbagai proses pengambilan keputusan, seperti barang apa yang harus dibeli, musik apa yang harus didengar, atau berita apa yang harus dibaca.

Su & Khoshgoftaar (2009) menambahkan sistem rekomendasi dapat meningkatkan proses dan membantu kegiatan seseorang seperti menyaring daftar buku, artikel, halaman web, film, musik, restoran, produk, dan sebagainya untuk menemukan informasi yang paling menarik dan berharga.

Setiap pengguna memiliki kesukaan yang berbeda terhadap suatu item.

Sistem rekomendasi bekerja dengan memberikan saran item-item tertentu kepada pengguna berdasarkan selera masing-masing, dimana rekomendasi yang dihasilkan bisa berasal dari kemiripan dengan pengguna lain atas kesukaan terhadap suatu item, atau keterkaitan satu item dengan item yang lain. Jadi sistem rekomendasi merupakan sistem yang dibangun untuk memprediksi suatu item yang sesusai dengan minat pengguna, dimana item tersebut akan direkomendasikan terhadap pengguna.

(28)

10

2.1.2 Proses Sistem Rekomendasi

Dalam buku “Web Page Recommendation Models”, Gündüz-Ögüdücü (2011) menjelaskan bahwa secara kesuluruhan metodologi sistem rekomendasi yang melakukan user modeling berdasarkan teknik penggalian data pada web terdiri dari 3 tahap, yaitu:

1. Data Collection and Preprocessing 2. Pattern Discovery and Analysis 3. Recommendation.

Gambar 2.1 Alur Metode Sistem Rekomendasi Berbasis Web (Gündüz-Ögüdücü, 2011)

Dua tahap pertama (Data Collection and Preprocessing & Pattern Discovery and Analysis) dilakukan secara offline, dimana data yang digunakan dalam sistem rekomendasi dapat diperoleh dari beberapa sumber.

Sumber data utama adalah data server web dan aplikasi yang merupakan tempat disimpannya riwayat penelusuran dan informasi pengguna.

Tahap terakhir, yaitu rekomendasi, adalah komponen online dari sistem rekomendasi. Sistem akan menghasilkan rekomendasi sebagai serangkaian tautan dari tahap yang telah dilakukan berdasarkan request dari pengguna.

Rekomendasi yang dihasilkan dapat ditampilkan dengan menambahkan

(29)

11

tautan di halaman web yang terakhir diakses, sebelum halaman tersebut dikirim ke browser klien.

2.2 Metode Sistem Rekomendasi

Sistem rekomendasi biasanya diklasifikasikan ke dalam tiga kategori berdasarkan pendekatan mereka terhadap rekomendasi: content-based, collaborative, dan hybrid. (Adomavicius & Kwon, 2007)

2.2.1 Content Based (CB)

Sistem rekomendasi berbasis konten (content based) menganalisis deskripsi item untuk mengidentifikasi item yang menarik khusus bagi pengguna. Deskripsi ketertarikan user diperoleh dari profil user yang didasarkan atas penilaian menarik atau tidaknya suatu item yang ada pada recommender system ini. (Pazzani & Billsus, 2007)

Sistem rekomendasi berbasis konten menggunakan ketersediaan konten (sering juga disebut dengan fitur, atribut atau karakteristik) sebuah item sebagai basis dalam pemberian rekomendasi (Ricci, et al., 2011). Sebagai contoh, sebuah item barang mempunyai konten seperti kategori, nama, deskripsi, dan lain-lain, atau sebuah file dokumen memiliki konten berupa tulisan yang ada di dalamnya. Singkatnya, sistem rekomendasi berbasis konten bekerja dengan cara melakukan pecocokan (matching) antara profil pengguna (user profile) dengan konten item (item content).

2.2.2 Collaborative Filtering (CF)

Ide utama sistem rekomendasi CF adalah dengan memanfaatkan opini pengguna lain untuk memprediksi item yang mungkin akan disukai atau diminati oleh seorang pengguna (Ricci, et al., 2011).

CF adalah salah satu teknik rekomendasi yang prediksi dan rekomendasinya berbasis pada nilai rating atau tingkah laku dari pengguna lain dalam sistem tersebut. Anggapan mendasar pada metode ini adalah opini pengguna lain dapat dipilih dan diagregasikan untuk memberikan prediksi dari preferensi pengguna aktif. Intinya, diasumsikan bahwa apabila beberapa

(30)

12

pengguna mempunyai minat yang sama terhadap suatu item, maka besar kemungkinan mereka mempunyai minat yang sama juga untuk item yang lain.

(Ekstrand, Riedl, & Konstan, 2011)

Gambar 2.2 Perbandingan Collaborative Filtering dengan Content-Based (Kurovski, 2018)

2.2.3 Hybrid Recommender System

Secara umum pendekatan hybrid recommendations adalah dengan menggabungkan lebih dari satu metode yang ada pada recommender system, kombinasi yang ada pada teknik ini misalnya dengan menggabungkan metode content based dengan collaborative filtering. Pendekatan hybrid dapat diimplementasikan dengan beberapa cara, seperti dengan membuat prediksi berbasis konten dan berbasis kolaboratif secara terpisah dan kemudian menggabungkannya; dengan menambahkan kemampuan berbasis konten ke pendekatan berbasis kolaboratif ataupun sebaliknya; atau dengan menyatukan pendekatan ke dalam satu model. (Adomavicius & Tuzhilin, 2005)

2.3 Metode Collaborative Filtering

Inti dari CF adalah menemukan rekomendasi untuk pengguna dengan melakukan penyaringan data berdasarkan tingkah laku karakteristik pengguna lain sehingga dapat memberikan informasi yang baru. Pencocokan dihitung berdasarkan

(31)

13

pengguna yang telah memberi nilai atau rating terhadap beberapa item. Jika dua pengguna memiliki item yang sama atau hampir sama, maka mereka memiliki selera yang sama. Pengguna semacam itu membangun kelompok atau lingkungan yang disebut neighbor. Kemudian seorang pengguna aktif mendapatkan rekomendasi untuk barang-barang yang belum dia nilai sebelumnya, tetapi itu sudah dinilai secara positif oleh neighbor-nya. (Asanov, 2011)

Sistem rekomendasi metode ini mengaplikasikan teknik analisis data untuk membantu pengguna menemukan item yang ingin mereka beli di situs e-commerce dengan menghasilkan skor kelayakan yang diprediksi atau daftar Top-N item rekomendasi untuk pengguna tertentu. Rekomendasi barang dapat dibuat menggunakan metode yang berbeda. Rekomendasi dapat didasarkan pada demografi pengguna, keseluruhan item penjualan teratas, atau kebiasaan beli pengguna di masa lalu sebagai prediktor barang di masa depan. (Sarwar, Karypis, Konstan, & Riedl, 2001)

Kualitas rekomendasi yang diberikan dengan menggunakan metode ini sangat bergantung dari opini pengguna lain (neighbor) terhadap suatu item.

Belakangan diketahui bahwa melakukan reduksi neighbor (yaitu dengan memotong neighbor sehingga hanya beberapa pengguna yang memiliki kesamaan atau similiarity tertinggi sajalah yang akan digunakan dalam perhitungan) mampu meningkatkan kualitas rekomendasi yang diberikan. (Adomavicius & Kwon, 2007) Sistem rekomendasi metode CF beroperasi di dalam sebuah ruang dua dimensi User-Item. Rating yang dapat diberikan oleh seorang pengguna terhadap sebuah item dapat direpresentasikan sebagai r (bilangan bulat tidak negatif atau bilangan real dengan jarak tertentu), dan sistem rekomendasi mencoba untuk memprediksi rating yang akan diberikan seorang user untuk sebuah item yang belum pernah ia beri rating sebelumnya.

(32)

14

Gambar 2.3 Alur Metode Collaborative Filtering (Gündüz-Ögüdücü, 2011)

Rating matrix dibuat yang mana setiap baris mewakili pengguna dan setiap kolom mewakili item. Item dapat berupa apapun, baik itu online resource information ataupun produk yang ada pada komunitas online seperti halaman Web, video, musik, foto, makalah akademis, buku, dan lain-lain. CF memprediksi minat pengguna tertentu dalam sebuah item dengan menggunakan rating matrix (Gündüz- Ögüdücü, 2011). Sebagai perumapamaan, misalnya terdapat lima pengguna u1, u2,

u3, u4, u5dan lima item i1, i2, i3, i4, i5. Sebuah sistem rekomendasi ingin memprediksi berapa rating yang diberikan oleh u1 terhadap i5. Collaborative Filtering akan mempresentasikannya seperti pada gambar berikut:

Gambar 2.4 Matrix User-Item Collaborative Filtering (Adomavicius & Kwon, 2007)

C

(33)

15

Ada dua pendekatan utama untuk sistem rekomendasi Collaborative Filtering (CF), yaitu berbasis item dan berbasis user. Sistem rekomendasi CF dengan pendekatan item menggunakan kesamaan di antara item untuk menentukan apakah pengguna menyukainya atau tidak, sedangkan CF dengan pendekatan user memberikan rekomendasi dengan menemukan kemiripan pengguna (neighbor) berdasarkan tingkah laku yang ditemukan (Boström & Filipsson, 2017).

2.3.1 User Collaborative Filtering (UCF)

Model UCF mengasumsikan bahwa cara yang baik untuk menemukan item yang menarik bagi user tertentu adalah dengan mencari user lain yang memiliki minat yang sama. Jadi, pada awalnya UCF mencoba untuk menemukan user neighbor berdasarkan pada user similarity dan kemudian setiap nilai rating dari user neighbor akan dijadikan bahan rekomendasi bagi user aktif (Yu, 2015).

Gambar 2.5 Ilustrasi Perbedaan UCF dengan ICF (Pinela, 2017)

2.3.2 Item Collaborative Filtering (ICF)

Perbedaan mendasar dari UCF dengan ICF adalah korelasi yang dicari apakah berdasarkan user ataukah item. Ilustrasi perbedaan antara keduanya dapat dilihat pada gambar 2.5. Yang mana pada model ICF memiliki skema

(34)

16

yang hampir sama dengan UCF, jika sebelumnya UCF yang dicari adalah korelasi antara user, maka pada ICF korelasi yang dicari adalah antar item yang disukai oleh user, kemudian item yang berkorelasi tersebut direkomendasikan terhadap sejumlah user lainnya (Yu, 2015).

2.4 Proses Collaborative Filtering

Berdasarkan alur metode sistem rekomendasi berbasis web secara umum yang memiliki 3 tahapan, fase sistem rekomendasi dapat dijelaskan rinci sebagai berikut (Isinkaye, Folajimi, & Ojokoh, 2015):

1. Information Collection Phase 2. Learning Phase

3. Prediction / Recommendation Phase

Gambar 2.6 Recommendation Phase (Isinkaye, Folajimi, & Ojokoh, 2015)

Dasarnya adalah pertama-tama mengumpulkan data rating user terhadap item, kemudian memeplajari data untuk mengetahui kemiripan antara user aktif dengan user lain, melalui data rating yang ada dan didapatlah Top K user sebagai neighbor terdekat, dan kemudian gunakan rating neighbor untuk memperkirakan

(35)

17

peringkat item yang tidak dirating oleh user aktif. Yang terakhir, tunjukkan Top N item sebagai hasil prediksi yang di rekomendasikan ke user aktif. Dalam skenario CF, struktur data dapat didefinisikan sebagai 𝐷 = {𝑈, 𝐼, 𝑅}, di mana U adalah kumpulan pengguna m {𝑢1, 𝑢2,…, 𝑢𝑚}, I adalah sekumpulan n item {𝑖1, 𝑖2,…, 𝑖𝑛} dan R adalah matriks user-item dengan nilai 𝑅mn, yaitu rating user m terhadap item n. (Gong, et al., 2016)

2.4.1 Information Collection Phase

Pada tahap ini informasi yang relevan dari pengguna sangat diperlukan, karena sistem rekomendasi tidak dapat memberikan hasil secara akurat tanpa membangun profil atau model pengguna dengan baik. Untuk metode collaborative filtering, informasi yang harus dibangun dengan baik tersebut berupa data rating pengguna. Beberapa cara yang dapat dilakukan untuk mendapatkan rating pengguna, yaitu (Isinkaye, Folajimi, & Ojokoh, 2015):

1. Explicit Feedback.

Sistem biasanya meminta pengguna melalui sistem interface-nya untuk memberikan peringkat barang-barang dengan tujuan membangun dan meningkatkan modelnya. Keakuratan rekomendasi tergantung pada jumlah peringkat yang disediakan oleh pengguna. Hal ini memberikan hasil yang akurat karena peringkat diberikan langsung oleh pengguna, namun diperlukan effort dari pengguna untuk memberikan peringkat secara langsung.

2. Implicit Feedback.

Sistem secara otomatis menyimpulkan preferensi pengguna dengan memantau berbagai tindakan pengguna seperti riwayat pembelian, riwayat navigasi, dan waktu yang dihabiskan di beberapa halaman web, tautan yang diikuti oleh pengguna, konten email dan klik suatu tombol. Feedback secara implisit mengurangi beban pengguna dengan menyimpulkan preferensi pengguna mereka dari perilaku mereka dengan sistem. Metode ini tidak membutuhkan usaha dari pengguna, tetapi kurang akurat. Meski mengurangi

(36)

18

beban pengguna untuk memberikan rating secara langsung, namun pengguna dituntut untuk aktif berinteraksi pada sistem.

3. Hybrid Feedback

Kelebihan yang ada pada feedback implisit dan eksplisit dapat digabungkan dalam hybrid feedback untuk meminimalkan kelemahan mereka dan mendapatkan sistem berkinerja terbaik. Hal ini dapat dicapai dengan menggunakan data implisit sebagai pemeriksaan pada peringkat eksplisit, atau memungkinkan pengguna untuk memberikan feedback eksplisit hanya ketika ia memilih untuk member peringkat secara eksplisit.

2.4.2 Learning Phase

Fase ini dilakukan dengan menerapkan algoritma pembelajaran untuk memfilter dan mengeksploitasi fitur pengguna berdasarkan data rating yang dikumpulkan dalam fase sebelumnya (Isinkaye, Folajimi, & Ojokoh, 2015).

Metode user collaborative filtering (UCF) memberikan hasil rekomendasi berdasarkan user yang memiliki kemiripan atau disebut neighbor. Setiap user yang telah memberi rating terhadap item akan dibandingkan dengan user lain yang belum pernah memberi rating terhadap suatu item. Hasil dari tahapan ini adalah nilai similarity (kemiripan) yang menggambarkan seberapa mirip suatu user dengan user lain.

Terdapat beberapa algoritma untuk menemukan similar user, Cosine similarity dan Pearson’s correlation adalah algoritma yang popular untuk mengukur similarity user. (Gündüz-Ögüdücü, 2011)

2.4.2.1. Cosine Similarity

Metode Cosine Similarity merupakan metode yang digunakan untuk menghitung similarity (tingkat kesamaan) antar dua buah objek. Secara umum penghitungan metode ini didasarkan pada vector space similarity measure. Metode Cosine Similarity ini menghitung similarity antara dua buah objek (misalkan D1 dan D2) yang dinyatakan dalam dua buah vektor dengan

(37)

19

menggunakan keywords (kata kunci) dari sebuah dokumen sebagai ukuran.

(Pradnyana & Sanjaya, 2012)

Pada kasus ini dua user (u) dianggap sebagai 2 buah objek yang dinyatakan dalam dua buah vektor. Kesamaan antara 2 user ini diukur dengan menghitung kosinus dari sudut antara 2 vektor user. Cosine Similarity dapat dihitung sebagaimana persamaan (2.1) berikut:

𝑠𝑖𝑚(𝑢𝑥. 𝑢𝑦) = cos(𝑢𝑥. 𝑢𝑦) = ∑ 𝑟𝑥𝑗

√∑𝑁𝑘=1𝑟𝑥𝑘2 𝑟𝑦𝑗

√∑𝑁𝑘=1𝑟𝑦𝑘2

𝑛

𝑗=1

(2.1)

Keterangan:

- 𝑠𝑖𝑚(𝑢𝑥. 𝑢𝑦) = kemiripan antara user x dengan user y - 𝑟𝑥𝑗 = rating user x terhadap item j

- 𝑟𝑦𝑗 = rating user x terhadap item j

- 𝑘 = seluruh item yang telah diberi rating oleh user - 𝑟𝑥𝑘 = rating user x terhadap item ke-k

- 𝑟𝑦𝑘 = rating user x terhadap item ke-k

Rentang kesamaan Cosine Similarity adalah 0 sampai 1. Nilai nol menunjukkan bahwa profil pengguna aktif sama sekali berbeda (tidak memiliki kemiripan sama sekali) dengan pengguna yang dicari kemiripannya, di mana nilai satu menunjukkan bahwa kedua pengguna memiliki kemiripin yang sama persis. (Gündüz-Ögüdücü, 2011)

2.4.2.2. Pearson’s Colleration Coefficient

Pada algoritma ini kemiripan antara dua user a dan b diukur dengan menghitung Pearson’s correlation Coefficient.

𝑠𝑖𝑚𝑃𝐶(𝑢𝑥. 𝑢𝑦) = ∑𝑁𝑗=1(𝑟𝑥𝑗− 𝑟̅𝑥)(𝑟𝑦𝑗 − 𝑟̅𝑦)

√∑𝑁𝑘=1(𝑟𝑥𝑘 − 𝑟̅𝑥)2√∑𝑁𝑘=1(𝑟𝑦𝑘− 𝑟̅𝑦)2

(2.2)

(38)

20

Pearson’s Colleration Coefficient berkisar antara -1 dan 1, yang menunjukkan ketidak cocokan sempurna dan kecocokan sempurna antara dua pengguna. (Gündüz-Ögüdücü, 2011)

2.4.3 Prediction / Recommendation Phase

Setelah didapatkan neighbor atau similar user, UCF dapat menghitung peringkat prediktif untuk setiap item terhadap user. Neighbor 𝑆𝑛(𝑢𝑥) dari seorang user aktif ux dapat diidentifikasi dengan menggunakan nilai ambang persamaan atau dengan memilih Top-K user (K adalah jumlah neighbour terdekat yang dipilih). Kemudian, rating prediction item ik oleh seorang user aktif ux dihitung berdasarkan rumus (Gündüz-Ögüdücü, 2011):

𝑟̂𝑥𝑘 = 𝑟̅𝑥 +∑𝑢𝑎∈ 𝑆𝑛(𝑢𝑥)𝑠𝑖𝑚(𝑢𝑥. 𝑢𝑎)(𝑟𝑎𝑘 − 𝑟̅𝑎)

𝑢𝑎∈ 𝑆𝑛(𝑢𝑥)𝑠𝑖𝑚(𝑢𝑥. 𝑢𝑎) (2.3)

Keterangan:

- 𝑟̂𝑥𝑘 = nilai prediksi item k untuk user x - 𝑆𝑛(𝑢𝑥) = neighbour terdekat yang dipilih - 𝑟̅𝑥 = rata-rata rating user x

- 𝑟̅𝑎 = rata-rata rating user a - 𝑟𝑎𝑘 = rating user a terhadap item k

- 𝑠𝑖𝑚(𝑢𝑥, 𝑢𝑎) = hasil similarity user x terhadap user a.

Hasil dari perhitungan ini didapatkan Top N item. Teknik ini juga dikenal sebagai CF memory-based, karena membutuhkan semua data rating, item, dan pengguna disimpan dalam memori.

2.5 E-Commerce

Menurut E. Turban, dkk (2015), electronic commerce (disingkat EC, atau e- commerce) mengacu pada penggunaan jaringan komputer, termasuk internet dan intranet untuk membeli, menjual, transfer, atau memperdagangkan data, barang, atau layanan. E-Commerce dapat dilakukan di pasar elektronik (e-marketplace),

(39)

21

yaitu lokasi online dimana pembeli dan penjual melakukan transaksi komersial seperti menjual barang, jasa, atau informasi.

Setiap individu juga dapat membuka pasar yang menjual produk atau layanan secara online. E-commerce menghubungkan penjual dan pembeli melalui internet, atau juga melalui intranet antar mitra atau organisasi. Intranet adalah jaringan internal perusahaan atau pemerintah yang menggunakan alat-alat internet, seperti browser Web dan protokol Internet. Bentuk jaringan komputer lain adalah extranet, yaitu jaringan yang menggunakan teknologi internet untuk menghubungkan intranet dari beberapa organisasi dengan cara yang aman (Turban, King, Lee, Liang,

& Turban, 2015).

2.6 Laravel

Laravel merupakan salah satu framework PHP. Aminuddin (2015) menjelaskan bahwa Laravel dibangun dengan konsep MVC (Model-View- Controller), kemudian Laravel dilengkapi juga command line tool yang bernama

“Artisan” yang bisa digunakan untuk packaging bundle dan instalasi bundle melalui command prompt.

Model-View-Controller adalah sebuah konsep yang diperkenalkan oleh penemu Smalltalk (Trygve Reenskaug) untuk meng-enkapsulasi data bersama dengan pemrosesan (model), mengisolasi dari proses manipulasi (controller) dan tampilan (view) untuk direpresentasikan pada sebuah user interface. (Hidayat &

Surarso, 2012)

Supaartagorn (2011) menjelaskan bahwa pola MVC memecahkan sebuah aplikasi menjadi tiga modul asosiasi: model, view, dan controller. Model adalah logika bisnis dari aplikasi dan inti dari sebuah aplikasi. View adalah user interface dari controller. Yang merupakan muka umum untuk respon event pengguna.

Komponen controller mengimplementasi flow yang mengontrol antara view dan model.

(40)

22

Gambar 2.7 Alur kerja Model-View-Controller Sumber: Prowebpro.com - MVC (Model View Controller)

Prinsip kerja Laravel yaitu yang pertama kali dibaca saat menjalankan suatu halaman adalah Controller-nya. Kemudian di dalam Controller tersebut menjalankan algoritma yang ada secara baris per baris. Dari Controller, jika ada kode yang memanggil atau membutuhkan data dari dari database, maka Controller akan memanggil suatu fungsi yang terdapat dalam Model. Hasil yang di peroleh dari Model dikembalikan lagi ke Controller dan disimpan dalam suatu variabel.

Hasil dari Controller yang berupa data, dikirim ke View. Dari view inilah yang akan ditampilkan kembali ke user sesuai dengan perintah yang diinginkan.

Laravel terinspirasi dari framework populer lainnya yang tidak hanya ada pada bahasa pemrograman PHP, tetapi juga pada bahasa pemrograman lainnya, yaitu untuk mempermudah developer dalam menggunakan fungsi-fungsi atau kelas-kelas yang biasa digunakan dalam pembuatan sebuah website sehingga bisa digunakan kembali dalam pembuatan website yang lain. Selain itu, Laravel juga bertujuan untuk memudahkan pekerjaan yang mengharuskan adanya kerjasama tim di dalamnya. (Bean, 2015)

2.7 XAMPP

Membuat sebuah sistem berbasis web dengan menggunakan bahasa PHP, tentu saja diperlukan sebuah server web dan interpreter PHP. Server tidak harus sebuah komputer khusus dengan kinerja tinggi dan berukuran sangat besar. Tetapi bisa dibuat dari PC yang mempunyai fungsi selayaknya sebuah web server, yaitu

(41)

23

dengan menginstall paket XAMPP. XAMPP merupakan paket PHP dan MySQL berbasis open source yang dapat digunakan sebagai tool pembantu pengembangan aplikasi berbasis PHP. XAMPP mengombinasikan beberapa perangkat lunak berbeda ke dalam satu paket. (Raharjo, 2011)

2.8 MySQL

Menurut Raharjo (2011) MySql merupakan software RDBMS (Relational Database Managements System) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah besar, dapat diakses oleh banyak user (multi-user), dan dapat melakukan suatu proses secara sinkron atau bersamaan (multi-threaded). MySQL digunakan untuk melakukan penyimpanan dan pengolahan data, pada berbagai kebutuhan, mulai dari akademis sampai ke industri, baik industri kecil, menengah, maupun besar.

MySQL adalah software atau program Database Server, sedangkan SQL adalah bahasa pemrogramannya, bahasa permintaan (query) dalam database server termasuk dalam MySQL itu sendiri. SQL juga dipakai dalam software database server lain, seperti SQL Server, Oracle, PostgreSQL dan lainnya.

Alasan mengapa para pengembang aplikasi database memilih MySQL diantaranya (Raharjo, 2011):

1. Fleksibel

MySql dapat digunakan untuk mengembangkan aplikasi desktop maupun aplikasi web dengan menggunakan teknologi yang bervariasi. Ini berarti bahwa Mysql memiliki fleksibilitas terhadap teknologi yang akan digunakan sebagai pengembang aplikasi, apakah PHP, JSP, Java, Delphi, C++, maupun yang lainnya dengan cara menyediakan plug-in dan driver yang spesifik untuk masing-masing teknologi tersebut. Dalam database mysql juga memiliki dukungan terhadap stored procedure, fungsi, trigger, view, SQL standar ANSI, dll, yang akan mempermudah dan mempercepat proses pengembangan aplikasi.

(42)

24

2. Performa Tinggi

Mysql memiliki mesin query dengan performa tinggi, dengan demikian proses transaksional dapat dilakukan dengan sangat cepat. Hal ini terbukti dengan digunakannya Mysql sebagai database dari beberapa aplikasi web yang memiliki traffic (lalu lintas) sangat tinggi.

3. Lintas Platform

MySql dapat digunakan pada platform atau lingkungan yang beragam, bisa Microsoft Windows, Linux, atau Unix. Ini menyebabkan proses migrasi data bila dibutuhkan dapat dilakukan secara lebih mudah.

4. Gratis

MySql dapat digunakan secara gratis. Meskipun demikian ada juga yang bersifat komersial. Biasanya yang sudah ditambahi dengan kemampuan spesifik dan mendapat pelayanan dari technical support.

2.9 Skala Penilaian

Sistem rekomendasi dengan metode collaborative filtering tidak bisa lepas dari rating atau penilain pengguna terhadap suatu item. Peneliti meminta responden untuk memberikan penilain terhadap sekumpulan item. Hal ini dilakukan untuk mengetahui seberapa besar kesukaan responden terhadap item tersebut. Ada beberapa jenis skala penilaian yang dapat digunakan pada saat penelitian, yaitu:

skala Likert, skala Guttman dan skala Rating.

2.9.1 Skala Likert

Skala Likert jarang digunakan saat ini. Format skala Likert, adalah salah satu format yang paling umum digunakan dalam desain kuesioner kontemporer. Biasanya, sekarang ini digunakan dalam pembuatan indeks sederhana. Katakanlah responden diminta untuk memberi nilai terhadap lima kategori respon, skor dapat ditetapkan dari 0 hingga 4 atau 1 hingga 5.

Dimana skor 4 atau 5 untuk "sangat setuju" yang menunjukkan kesepakatan penuh terhadap suatu kategori yang direspon sedangkan 0 atau 1 adalah sebaliknya. Setiap responden kemudian akan diberi skor keseluruhan yang

(43)

25

mewakili penjumlahan dari skor yang dia terima dalam menanggapi masing- masing item. (Babbie, 2013)

Skala yang umum digunakan pada skala likert yaitu antara 1 sampai 5 dimana tiap nilai diartikan sebagai berikut:

1. Sangat tidak setuju 2. Tidak Setuju 3. Netral 4. Setuju

5. Sangat Setuju 2.9.2 Skala Guttman

Skala Guttman merupakan skala yang menginginkan tipe jawaban tegas, seperti jawaban benar-salah, ya-tidak, pernah-tidak pernah, positif- negatif, tinggi-rendah, baik-buruk, dan seterusnya. Pada skala Guttman, hanya ada dua interval, yaitu setuju dan tidak setuju. (Babbie, 2013)

Skala Guttman seringnya dibuat dalam bentuk pilihan ganda maupun daftar checklist. Dimana skor 1 untuk jawaban positif seperti benar, ya, tinggi, baik. Sedangkan skor 0 untuk jawaban negatif seperti salah, tidak, rendah, buruk, dan semacamnya.

2.9.3 Skala Rating

Dalam buku “Mass Media Research”, Wimmer & Dominick (2013) menjelaskan Rating scale merupakan skala penilaian yang lebih fleksibel, skala penilaian ini tidak hanya untuk mengukur sikap tetapi dapat juga digunakan untuk mengukur persepsi responden terhadap fenomena lingkungan, seperti skala untuk mengukur status sosial, ekonomi, pengetahuan, kemampuan, dan lain-lain.

Pada skala penilaian rating scale keputusan peneliti yang menentukan skala mana yang digunakan untuk penilaian yang digunakan, apakah 1 sampai 3, 1 sampai 5, 1 sampai 7, 1 sampai 10 atau 1 sampai 100. Memilih jenis skala

(44)

26

rating sebagian besar merupakan masalah preferensi pribadi. Namun ada beberapa hal yang harus dipertimbangkan, yaitu:

1. Skala dengan nilai yang lebih tinggi akan menggambarkan perbedaan penilaian rating yang lebih detail pada item jikadibandingkan dengan skala dengan penilain rendah. Sebagai contoh ketika kita ingin menilai pentingnya suatu program dalam acara weekday radio show, jika responden mengatakan “semakin tinggi penilai maka semakin penting program tersebut untuk mereka”. Apakah skala 1-3 atau 1-10 yang digunakan. Tentu saja 1-10 karena skala ini menggambarkan perbedaan paling lebar.

2. Laki-laki, perempuan, disemua tingkatan usia, semua suku dan bangsa menyukai penilaian 1-10. Hal ini dikarenakan skala 1-10 digunakan secara universal, terutama pada acara olahraga seperti pertandingan olimpiade. Hampir setiap orang mengerti skala 1-10 dimana 10 merupakan penilaian sempurna atau yang terbaik sedangkan 1 merupakan penilaian yang paling buruk. Penelitian Wimmer juga menunjukkan bahwa seharusnya tidak menggunakan skala rating 0-9 atau 1-9 karena responden umumnya tidak mengenali kalau 9 merupakan nilai tertinggi.

3. Saat menggunakan rating scale sebaikanya diberitahukan kepada responden bahwa lebih semakin tinggi rating yang diberi jadi semakin setuju atau disukai. Misalnya untuk skala 1-10, dimana 1 menunjukkan tidak suka, dan 10 sangat suka.

2.10 Evaluasi Sistem Rekomendasi

Evaluasi digunakan untuk mengetahui seberapa bagus hasil rekomendasi yang diberikan sistem kepada user. Beberapa cara yang dapat dilakukan untuk mengevaluasi sistem rekomendasi yaitu dengan menghitung nilai precision untuk mengetahui tingkat akurasi dari hasil rekomendasi berdasarkan UAT (User Acceptance Test). Penghitungan presisi digunakan untuk mengetahui tingkat akurasi dari hasil rekomendasi barang yang ditampilkan.

(45)

27

Kemudian yang perlu diperhatikan dalam sistem rekomendasi adalah mengetahui seberapa efektifkah hasil rekomendasi yang diberikan. Untuk mengetahui ketepatan suatu metode rekomendasi atau prediksi yang dihasilkan dapat dilakukan dengan nilai error dari hasil rekomendasi yang diberikan menggunakan perhitungan Mean Absolute Error (MAE).

2.10.1 Precision

Nilai precision (P) menunjukan tingkat ketepatan sebuah sistem untuk mengembalikan informasi relevan kepada pengguna. Nilai ini diperoleh dengan membandingkan jumlah item relevan yang dikembalikan dengan total jumlah item yang dikembalikan seperti pada persamaan. Semakin besar nilai precision suatu sistem, maka sistem dapat dikatakan baik. Nilai precision tertinggi adalah 1, yang berarti seluruh dokumen yang ditemukan adalah relevan. (Safriadi & Wibowo, 2011)

Hasil dari implementasi sistem rekomendasi berupa sekumpulan item.

Dari beberapa item-item tersebut tentu tidak semua item yang relevan atau yang sesuai dengan kebutuhan user. Untuk mengetahui kualitas hasil rekomendasi, dapat menggunakan rumus relevansi presisi yang membadingkan antara item yang relevan dengan total item yang dihasilkan atau yang direkomendasikan kepada user.

Persamaan precision dapat diketahui sebagai berikut (Safriadi &

Wibowo, 2011) :

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =#𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑖𝑡𝑒𝑚𝑠 𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑

#(𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑖𝑡𝑒𝑚𝑠) = 𝑃(𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡|𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑) (2.4)

Dimana Relevant items retrieved adalah jumlah item relevan yang direkomendasikan sedangkan retrieved items adalah jumlah total item yang direkomendasikan.

(46)

28

2.10.2 Efektifitas Precision

Lancaster memberikan penilaian untuk mengukur tingkat precision pada penilaian efektivitas suatu sistem temu kembali informasi dengan ukuran angka dan mengkategorikannya menjadi precision rendah yaitu tidak efektif, precision sedang berarti kurang efektif, dan precision tinggi yang berarti efektif. (Sofa & Wahyu, 2017)

Rentang nilai presisi yang digunakan adalah 0 sampai 1, dengan toleransi 2 digit dibelakang koma. Untuk menginterpretasikan angka presisi, ditetapkan tiga kategori atau kelas yaitu: presisi tinggi, sedang, dan rendah.

Sedangkan kriteria atau tolak ukur yang digunakan untuk menyatakan kategori tersebut ialah skala interval, dengan mencari selisih kemungkinan angka presisi tertinggi (1) dengan kemungkinan angka presisi terendah (0) kemudian dibagi 3 sesuai kategori penilaian, rielnya adalah (1-0) : 3 = 0,33.

(Hasugian, 2006).

Dengan demikian kelas interval dari ketiga kategori interpretasi presisi dapat dilihat dalam tabel berikut:

Tabel 2.1 Tingkatan Efektifitas Nilai Precision

Nilai Precision Keterangan

0,00 s/d 0,33 Precision rendah Tidak Efektif

> 0,33 s/d 0,67 Precision sedang Kurang Efektif

> 0,67 s/d 1,00 Precision tinggi Efektif

Sumber: (Hasugian, 2006)

2.10.3 Mean Absolute Error (MAE)

MAE adalah metrik yang digunakan untuk menghitung rata-rata dari semua perbedaan nilai absolut antara nilai sesungguhnya dengan nilai prediksi. Semakin rendah MAE semakin baik akurasinya. Secara umum MAE dapat berkisar dari 0 hingga tak terbatas (Najafi & Salam, 2016).

(47)

29

Menghitung Mean Absolute Error (MAE) dapat diselesaikan dengan rumus berikut (Najafi & Salam, 2016):

𝑀𝐴𝐸 = 1

𝑛∑ |𝑝𝑖 − 𝑓𝑖|

𝑛 𝑖=0

(2.5)

Keterangan:

- MAE = Nilai rata-rata kesalahan hitungan - n = Jumlah item yang dihitung

- pi = Nilai prediksi item ke i

- fi = Nilai rating sebenarnya item ke i

2.11 Metode Pengumpulan Data

Menurut Sugiyono (2016) pengumpulan data adalah pengumpulan yang dilakukan untuk memperoleh informasi yang dibutuhkan dalam rangka mencapai tujuan penelitian. Tujuan yang diungkapkan dalam bentuk hipotesis merupakan jawaban sementara terhadap pertanyaan penelitian. Pengumpulan data dapat berupa suatu pernyataan (statement) tentang sifat, keadaan, kegiatan tertentu dan sejenisnya. Pengumpulan data dilakukan untuk memperoleh informasi yang dibutuhkan dalam rangka mencapai tujuan penelitian.

2.11.1 Studi Pustaka

Dalam buku “Metode Kualitatif (Jenis, Karakteristik, dan Keunggulannya)” Raco (2010) menjelaskan studi pustaka atau tinjauan pustaka adalah bahan yang tertulis berupa buku, jurnal yang membahas tentang topik yang hendak diteliti. Tinjauan pustaka membantu peneliti untuk melihat ide-ide, pendapat, dan kritik tentang topik tersebut yang sebelumnya dibangun dan dianalisis oleh para peneliti atau ilmuwan sebelumnya.

Tinjauan pustaka bertujuan untuk melihat dan menganalisis nilai tambah penelitian ini dibandingkan dengan penelitian-penelitian sebelumnya.

Penggunaan metode penelitian baik kualitatif maupun kuantitatif akan membahas tinjauan pustaka pada awal penelitian dengan tujuan untuk

(48)

30

memberikan peneguhan atas pentingnya masalah atau topik penelitian yang akan dibahas.

2.11.2 Observasi

Menurut Abdurrahman (2011) dalam bukunya “Dasar-Dasar Metode Statistika Untuk Penelitian”, teknik observasi merupakan salah satu teknik pengumpulan data dimana peneliti mengadakan pengamatan dan pencatatan secara sistematis terhadap objek yang diteliti. Pengumpulan data melalui teknik observasi biasanya digunakan sebagai alat untuk mengukur tingkah laku individu ataupun proses terjadinya suatu kejadian yang dapat diamati, baik dalam situasi buatan yang secara khusus diadakan maupun dalam situasi alamiah atau sebenarnya (lapangan). Alat pengumpulan data dalam teknik observasi adalah berupa catatan informal, daftar cek, skala, penilaian, dan pencatatan dengan alat. Catatan informal merupakan pencatatan data yang biasa dilakukan dalam observasi yang tidak berstruktur. Daftar cek (check list) merupakan pencatatan data yang dilakukan dalam observasi berstruktur dimana aspek-aspek atau dimensi yang diamati disusun.

2.12 Literatur Sejenis

Pada penelitian ini, peneliti melakukan studi literatur sejenis sebagai bahan referensi dari penelitian yang peneliti lakukan. Hal ini bertujuan sebagai perbandingan antara penelitan yang sedang dilakukan dengan penelitian-penelitian sebelumnya. Studi literatur yang digunakan peneliti berupa jurnal, skripsi ataupun karya publikasi lainnya. Berikut ini merupakan tabel perbandingan penelitian yang sedang dilakukan dengan beberapa penelitian sejenis:

Gambar

Gambar 2.2 Perbandingan Collaborative Filtering dengan Content-Based  (Kurovski, 2018)
Gambar 2.3 Alur Metode Collaborative Filtering  (Gündüz-Ögüdücü, 2011)
Gambar 2.5 Ilustrasi Perbedaan UCF dengan ICF (Pinela, 2017)
Gambar 2.6 Recommendation Phase  (Isinkaye, Folajimi, & Ojokoh, 2015)
+7

Referensi

Dokumen terkait

Pada tahap ini peneliti melakukan proses analisis terkait fitur yang akan digunakan dalam modul user pada aplikasi pulau kuy, terdiri dari sistem rekomendasi dengan menggunakan