• Tidak ada hasil yang ditemukan

Rancangan Bangun Music Recommender System Dengan Metode User-Based Collaborative Filtering

N/A
N/A
Protected

Academic year: 2017

Membagikan "Rancangan Bangun Music Recommender System Dengan Metode User-Based Collaborative Filtering"

Copied!
70
0
0

Teks penuh

(1)

SKRIPSI

Diajukan Untuk Menempuh Ujian Akhir Sarjana

TEGUH BUDIANTO 10108530

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

Segala puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa,

karena berkat rahmat-Nyalah akhirnya Skripsi ini dapat diselesaikan. Skripsi

dengan judul “RANCANG BANGUN MUSIC RECOMMENDER SYSTEM

DENGAN METODE USER-BASED COLLABORATIVE FILTERING”,

yang diajukan untuk menempuh ujian akhir sarjana Program Strata I pada Jurusan

Teknik Informatika Universitas Komputer Indonesia.

Penulis menyadari bahwa segala usaha yang dilakukan dalam penulisan

ini tidak akan berhasil dengan baik tanpa bantuan dan saran dari berbagai pihak.

Maka dalam kesempatan ini perkenankanlah penulis mengucapkan terima kasih

kepada yang terhormat :

1. Keluarga tercinta yang selalu memberikan do’a, kasih sayang, semangat dan

dorongan moril maupun materil.

2. Bapak Galih Hermawan, S.Kom., M.T. selaku pembimbing yang telah

mengarahkan dan membimbing penulis dalam menyelesaikan penulisan

skripsi ini.

3. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku penguji.

4. Bu Ednawati Rainarli, S.Si., M.Si selaku penguji.

5. Seluruh staf pengajar dan sekretariat Teknik Informatika, yang telah

membantu proses akademik penulis.

6. Ricky, Albi, Ridzki, Derris, Ridha dan seluruh teman-teman IF-11 angkatan

(3)

iv

akhir ini yang tidak dapat disebutkan satu per satu.

Penulis menyadari bahwa penulisan laporan ini masih jauh dari sempurna

maka kritik dan saran dari semua pihak dibutuhkan untuk menambah wawasan

penulis.

Akhir kata semoga Tuhan membalas segala kebaikan yang telah penulis

terima dan harapan penulis semoga Laporan Skripsi ini dapat bermanfaat bagi

pihak yang membutuhkan.

Bandung, 28 Juli 2015

(4)

ABSTRACT ... II

KATA PENGANTAR ... III

DAFTAR ISI ... V

DAFTAR GAMBAR ... IX

DAFTAR TABEL ... XI

DAFTAR SIMBOL ... XIII

DAFTAR LAMPIRAN ... XXII

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah... 3

1.5 Metodologi Penelitian ... 3

1.5.1 Tahap pengumpulan data ... 3

1.5.2 Tahap pembuatan perangkat lunak ... 4

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Informasi Retrieval dan information filtering ... 7

2.1.1 Informasi Retrieval ... 7

2.1.2 Information Filtering ... 8

2.2 Recommender System ... 8

2.2.1 Teknik Pengumpulan Data Recommender System ... 9

2.2.2 Metode – Metode Recommender System ... 10

2.3 Metode Collaborative Filtering ... 11

(5)

VI

2.4.2 Data Smoothing ... 15

2.4.3 Neighbour Pre-Selection, Menentukan Cluster untuk Active User ... 16

2.4.4 Neighbour Selection (Pencarian tetangga terdekat) ... 17

2.4.5 Perhitungan Nilai Prediksi ... 17

2.5 Mean Absolute Error (MAE) ... 18

2.6 Blackbox ... 18

2.7 Sistem... ... 19

2.7.1 Pengertian sistem.........19

2.7.2 Elemen Sistem ... 19

2.7.3 Karakrteristik Sistem ... 21

2.8 Artificial Intelliginice ... 23

2.8.1 Bidang-bidang kecerdasan buatan ... 23

2.9 Basis Data.... ... 25

2.9.1 Bahasa Basis Data ... 26

2.9.2 SQL (Structured Query Language) ... 26

2.9.3 ERD (Entity Relationship Diagram) ... 28

2.9.4 Diagram Skema Relasi ... 29

2.10 UML (Unified Modelling Language)... 30

2.10.1 Diagram UML ... 31

2.11 PHP (Personal Home Page) ... 33

2.12 Framework ... 34

2.12.1 Pengertian PHP Framework ... 34

2.12.3 Framework CodeIgniter ... 34

2.12.4 MVC (Model View Controller) ... 34

2.13 Pengertian jQuery... 35

(6)

3.1.2 Analisis Penelitian Sejenis ... 38

3.1.3 Analisis Sistem Yang Akan Dibangun ... 39

3.1.4 Analisis Metode User-Based Collaborative Filtering ... 40

3.1.4.1 Data Rating ... 41

3.1.4.2 Pembentukan Cluster... 41

3.1.4.3 Menentukan Cluster Untuk Active User ... 44

3.1.4.4 Data Smoothing ... 45

3.1.4.5 Pencarian Tetangga Terdekat Active User ... 47

3.1.4.6 Perhitungan Nilai Prediksi ... 48

3.1.5 Analisis Kebutuhan Fungsional ... 49

3.1.5.1 Analisis Kebutuhan Data ... 49

3.1.5.2 Pemodelan Sistem ... 50

3.1.6 Analisis Kebtutuhan Non Fungsional ... 75

3.1.6.1 Analisis Kebutuhan Perangkat Keras ... 75

3.1.6.2 Analisis Kebutuhan Perangkat Lunak ... 76

3.1.6.3 Arsitektur Perangkat Lunak ... 77

3.1.6.4 Analsisis Kebutuhan Pengguna ... 78

3.1.6.6 Skema Relasi ... 79

3.1.6.7 Struktur Tabel ... 79

3.2 Perancangan Sistem ... 80

3.2.1 Struktur menu ... 81

3.2.2 Perancangan Antar Muka ... 81

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 87

(7)

VIII

4.2 Pengujian ... 90

4.2.1 Pengujian Menggunakan Blackbox ... 90

4.2.1.1 Rencana Pengujian Menggunakan Blacbox ... 90

4.2.1.2 Kasus Dan Hasil Pengujian ... 91

4.2.1.2.1 Pengujian Verifikasi ... 91

4.2.1.2.2 Pendaftaran Akun ... 92

4.2.1.2.3 Menu Musik ... 92

4.2.1.2.4 Penelusuran ... 93

4.2.1.2.5 Rating Anda ... 93

4.2.1.2.6 Rekomendasi ... 94

4.2.1.2.7 Ubah Password ... 94

4.2.1.2.8 Kelola Pengguna ... 95

4.2.1.2.9 Kelola Musik ... 95

4.2.1.2.10 Setting Mesin Rekomendasi ... 95

4.2.1.3 Kesimpulan Hasil Pengujian Sistem Menggunakan Blackbox .. 96

4.2.2 Pengujian Tingkat Akurasi Menggunakan MAE ... 96

4.2.2.1 Rencana Pengujian Tingkat Akurasi Menggunakan MAE... 96

4.2.2.2 Hasil Pengujian Tingkat Akurasi ... 97

4.2.2.3 Analisa Hasil Pengujian ... 100

BAB 5 KESIMPULAN DAN SARAN ... 101

5.1 Kesimpulan ... 101

5.2 Saran ... 101

(8)

collaborative filtering. (Skripsi). Universitas Sebelas Maret, Surakarta.

[2] Erlangga. (2011). Modul Kuliah Rekayasa Perangkat Lunak. Jurusan Teknik Informatika. UNIKOM, Bandung.

[3] J, Durkin. (1994). Expert System Design And Development. Prentice. Hall International Edition. New Jersey: Macmilan Publishing Company.

[4] Jogiyanto, HM. (2005). Analisis & Desain Sistem Informasi : Pendekatan Terstruktur Teory dan Praktek Aplikasi bisnis. Yogyakatra: ANDI.

[5] Kartadinata, Sunaryo. (2014). Pedoman Penulisan Karya Ilmiah UPI Tahun 2014. Bandung: Universitas Pendidikan Indonesia. [6] Kusumadewi, Sri. (2003). Artificial Intelligence (Teknik dan

Aplikasinya). Yogyakarta: Graha Ilmu.

[7] Leimstoll, U. & Stormer, H. (2007). Collaborative Recommender Systems for Online Shops. Journal: AMCIS 2007, Keystone, CO [8] McGinty, L. & B. Smyth. (2006). Adaptive selection: analysis of

critiquing and preference based feed back in conversation on recommender system. International J Electron Commerce.

[9] Mortensen, Magnus. (2007). Design and Evaluation of a Recommender System. University of Tromso.

[10] Myer, Thomas. (2008). Professional CodeIgniter. Wiley Publishing.

[11] Pazzani, Michael J. & Billsus, Daniel. (2007). Content-Based Recommendation Systems. Springer-Verlag Berlin Heidelberg. [12] Pressman, Roger S. (2001). Software Engineering : A

(9)

104

[14] Saptariani, Trini. (2014). Sistem Rekomendasi Musik Menggunakan Latent Semantic Analysis. (Skripsi). Teknik Informatika, Universitas Gunadarma, Depok.

[15] Sarwar, Badrul. (2001). Item-Based Collaborative Filtering Algorithms. Minneapolis : University of Minnesota.

[16] Septian, Gungun. (2011). Trik Pintar Menguasai CodeIgniter. Jakarta: Elex Media Komputindo.

[17] Shalahuddin, Muhammad & Rosa Ariani S. (2011). Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung: Modula.

[18] Twoh & co, Sekilas tentang sistem rekomendasi. [Online] Diakses dari http://www.twoh.co/2013/05/sekilas-tentang-sistem-

rekomendasi-recommender-system/ (Diakses tanggal 19 Mei 2015)

[19] Wang, Jun. (2006) Unfiying User-Based and Item-Based Collaborative Filtering Approaches by Similarity Fusion.

Amsterdam: Delft University Of Technology.

[20] Wiranto & Winarko, Edi. (2010). Konsep Multicriteria Collaborative Filtering Untuk Perbaikan Rekomendasi. Seminar Nasional Aplikasi Teknologi Informasi. Yogyakarta

(10)

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Berbagai penelitian tentang sistem rekomendasi sebenarnya telah diaplikasikan

untuk merekomendasikan berbagai informasi, seperti musik, film, buku, berita, jurnal

ilmiah dan barang yang tersedia di toko online. Beberapa diantaranya adalah yang

bergerak dibidang musik, lalu yang bergerak di bidang e-commerce adalah situs Amazon.com, sementara di bidang film terdapat MovieLens yang dikembangkan oleh

lembaga riset GroupLens dari University of Minnesota, untuk memprediksi rating

suatu film. Sistem rekomendasi merupakan model aplikasi dari hasil observasi

terhadap keadaan dan keinginan pengguna. Oleh karena itu sistem perekomendasi

memerlukan model rekomendasi yang tepat agar yang di rekomendasikan sesuai

dengan keinginan pengguna, serta mempermudah pengguna mengambil keputusan

yang tepat dalam menentukan item yang akan dipilih (Sarwar, Badrul. 2001).

Industri musik belakangan ini mengalami perubahan yang sangat signifikan.

Konsumen kini cenderung mengakses dan membeli konten secara online

dibandingkan pergi ke sebuah toko, hal ini jelas menimbulkan masalah pertumbuhan

data yang sangat cepat di internet menyebabkan terlalu banyaknya informasi yang

tersedia. Hal ini menyebabkan seseorang mengalami kesulitan dalam mendapatkan

informasi mengenai musik yang cepat dan sesuai dengan kebutuhan. Untuk itu

diperlukan sistem rekomendasi sehingga dapat membantu seseorang menemukan

informasi musik yang sesuai dengan kebutuhannya (Saptariani, Trini. 2014).

Dalam penelitian ini sistem rekomendasi akan dianalisa dan dibangun dengan

menggunakan metode user-based collaborative filtering karena dengan algoritma ini melibatkan subyektifitas pengguna dalam perhitungan sehingga rekomendasi yang

(11)

1. Scalability, yaitu keadaan dimana tingginya jumlah peningkatan user

dan item di dalam database yang mempengaruhi menurunnya komputasi algoritma user-based collaborative filtering.

2. Sparsity, yaitu terjadinya kekosongan data matriks user-item, yang disebabkan karena user merating dalam jumlah kecil dari jumlah item yang tersedia di dalam database.

Oleh karena itu perlu digunakan algoritma tambahan yaiitu K-Means clustering dan proses smoothing yang bertujuan untuk menangani dua masalah utama tersebut.

Music recommender system ini dibangun diatas platform web, dengan pertimbangan perangkat lunak yang dibangun harus memiliki kemampuan untuk menangani banyak

pengguna.

Berdasarkan uraian di atas dengan permasalahan yang terjadi, maka dengan

harapan sistem rekomendasi ini nantinya dapat membantu dan memberikan informasi

tentang musik yang tepat untuk pengguna.

1.2 Rumusan Masalah

Berdasarkan permasalahan yang terdapat di latar belakang yang telah

dikemukakan maka permasalahan dalam penelitian ini adalah bagaimana membangun

suatu sistem rekomendasi musik menggunakan metode user-based collaborative filtering guna untuk mempermudah pengguna memperoleh rekomendasi.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penelitian ini

adalah membangun suatu sistem rekomendasi musik berbasis website menggunakan metode user-based collaborative filtering.

Sedangkan tujuan yang ingin dicapai dalam penelitian ini adalah:

1. Mempermudah pengguna untuk menemukan musik yang diinginkan.

(12)

1.4 Batasan Masalah

Batasan masalah dalam pembangunan sistem rekomendasi ini sebagai berikut:

1. Sistem rekomendasi ini dibangun dengan berbasis website.

2. Data rating yang digunakan didapatkan dari user yang mendaftar ke dalam sistem yang dibangun.

3. Skala penilaian yang digunakan adalah dimana rating 1 untuk musik yang sangat buruk, rating 2 untuk musik cukup buruk, rating 3 untuk musik yang biasa saja, rating 4 berarti musik baik, dan terakhir rating 5 berarti musik sangat baik.

4. Untuk mengatasi masalah scalability (Peningkatan user dan item dalam database) maka digunakan algoritma tambahan yaitu K- means clustering. 5. Untuk mengatasi masalah sparsity (Kekosongan data matriks user-item

dikarenakan user merating dalam jumlah kecil) maka digunakan proses

smoothing.

6. Untuk menghitung tingkat akurasi dan performansi recommender system ini menggunakan perhitungan Mean Absolute Error (MAE).

1.5 Metodelogi Penelitian

Metodelogi yang digunakan dalam penulisan tugas akhir ini adalah sebagai

berikut :

1.5.1 Metode Penggumpulan Data

Metode pengumpulan data dalam penelitian ini menggunakan dua cara

yaitu :

a) Secara eksplisit. Dilakukan dengan meminta pengguna yang terdaftar

didalam sistem untuk merating sebuah item dari range tertentu, memberikan ranking berdasarkan dari item yang disukai oleh pengguna.

b) Secara Implisit. Dilakukan dengan mengamati pola kecenderungan

(13)

-1.5.2 Metode Pembangunan Perangkat Lunak

Teknik analisis data dalam pembuatan aplikasi menggunakan metode

sekuensial linier yang meliputi beberapa proses, diantaranya :

a) System/Information Engineering.

Menetapkan berbagai kebutuhan dari semua elemen yang diperlukan

sistem dan mengalokasikannya kedalam pembentukan perangkat

lunak.

b) Analysis

Pada proses ini analisis dilakukan dengan mengumpulkan data rating

terlebih dahulu yang diperoleh dari user yang merating beberapa musik, setelah data rating terbentuk kemudian adalah proses pembentukan cluster dalam pemebentukan cluster ini digunakan algoritma tambahan yaitu K-means clustering guna untuk mengatasi masalah scalability. Setelah proses pembentukan cluster selesai maka hal selanjutnya yaitu menentukan cluster untuk active user dimana untuk menentukan cluster active user diperoleh dari memilih beberapa

cluster yang memiliki nilai kemiripan yang besar kemudian dihitung nilai similaritynya setelah proses ini selesai maka proses selanjuntnya yaitu proses smoothing dimana hal ini merupakan pemberian nilai

rating bayangan guna untuk mengatasi masalah sparsity. Setelah proses smoothing selesai maka hal selanjutnya yaitu pencarian tetangga terdekat acive user dengan cara membuat nilai kemiripan

ua

dengan user-user didalam cluster. Proses terakhir dari analisis ini yaitu melakukan perhitungan nilai prediksi guna untuk mendapatkan hasil

rekomendasi yang dibutuhkan.

c) Design

Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang

(14)

d) Code

Penerjemahan data atau pemecahan masalah yang telah dirancang

keadalam bahasa pemrograman php.

e) Test

Penelitian ini menggunakan metode Mean Absolute Error (MAE)

untuk pengujiannya. MAE digunakan untuk menghitung tingkat

akurasi atau nilai kesalahan hasil prediksi rating dari sistem terhadap

rating sebenarnya.

Gambar 1.1 Metode Sekuensial Linier. (Pressman, Roger S. 2001)

1.6 Sistematika Penulisan

Sistematika penulisan penelitian tugas akhir ini disusun untuk memberikan

gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas

akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Pada bab pendahuluan ini, menguraikan tentang secara singkat tentang latar

belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah,

metodologi penelitian serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi teori-teori pendukung yang berhubungan dengan pembangunan

music recommender system.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

(15)

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi implementasi pembangunan music recommender system yang dibangun , ujicoba dan hasil pengujian sistem.

BAB 5 KESIMPULAN DAN SARAN

Bab ini menjelaskan tentang kesimpulan yang diperoleh dari hasil

(16)

BAB II

LANDASAN TEORI

2.1 Information Retrieval dan Information Filtering

Perkembangan internet yang sangat pesat secara tidak langsung memberikan

kemampuan kepada pengguna untuk memilih di antara banyak dari informasi yang

ada di internet. Informasi ini bisa berkaitan dengan profesi mereka, kejadian yang ada

di dunia, atau bahkan informasi yang berkaitan dengan gaya hidup. Informasi yang

dibutuhkan oleh pengguna internet terus mengalami peningkatan dan ini bisa

datangnya dari berbagai sumber yang berbeda-beda. Misalnya melalui halaman web,

email, artikel, berita, jurnal, situs belanja, dan situs multimedia. Perkembangan ini

memicu terjadinya information explosion di dunia maya yang menyulitkan pengguna dalam mencari suatu informasi dengan cepat dan relevan. Masalah ini menjadi alasan

dikembangkannya beberapa teknik untuk information retrieval dan information filtering (Mortensen, Magnus. 2007).

2.1.1 Information Retrieval

Information Retrieval (IR) sering sekali dikaitkan dengan pencarian data, merupakan teknologi yang mencakup crawling, processing dan indexing konten, serta

querying untuk konten. Crawling adalah tindakan mengakses web server dan file system untuk mendapatkan informasi. Dengan mengikuti link yang ada, pengguna dapat melintasi hirarki konten web berdasarkan sebuah URL (Uniform Resource Locator). Pada tahapan processing memungkinkan pengguna untuk melakukan penambahan, menghapus, dan mengubah informasi menjadi sebuah dokumen, seperti

(17)

tentang referensi konten. Querying adalah tahapan untuk melakukan request

informasi. IR memperbolehkan pengguna untuk menulis query dalam bentuk keyword

yang menggambarkan informasi yang dibutuhkan oleh pengguna. Disini pengguna

dapat berinteraksi dengan query interface, lalu sebuah query-processor akan menggunakan index untuk mencari referensi informasi berdasarkan keyword dan kemudian menampilkan referensi yang ada. Tujuannya adalah untuk menganalisa dan

mengidentifikasi tujuan dari penggunaan query dan memberikan hasil yang paling

relevan.

Penyaringan informasi pada sistem IR dilakukan dengan memberikan akses

bagi pengguna untuk menentukan informasi apa yang dibutuhkan dengan menulis

secara manual keyword yang menggambarkan informasi yang ingin dicari. IR cukup sukses untuk mendukung pengguna yang tahu bagaimana menjelaskan dengan tepat

apa yang mereka cari dengan cara yang kompatibel dengan mendeskripsi konten yang

diciptakan selama indexing (Mortensen, Magnus. 2007). 2.1.2 Information Filtering

Information Filtering (IF) berfokus pada penyaringan informasi berdasarkan

profil dari user. Profil user dapat dibentuk dengan membiarkan pengguna menentukan dan menggabungkan minat secara eksplisit, atau dengan membiarkan

sistem implisit memonitor prilaku pengguna. Keuntungan IF adalah kemampuannya

beradaptasi dengan minat jangka panjang dari pengguna. Sistem ini dibangun atas

gagasan untuk memiliki sistem yang mampu memberikan panduan kepada pengguna

untuk memilih sesuatu informasi yang bersifat personal atau sesuai dengan selera

pengguna. Sistem yang merealisasikan ide ini disebut dengan recommender system

Mortensen, Magnus. 2007).

2.2 Recommender System (Sistem Rekomendasi)

(18)

untuk menarik lebih banyak perhatian pengguna dan meningkatkan kepuasan

pengguna terhadap hasil pencarian informasi secara online. Pada e-commerce

misalnya, dimana sistem rekomendasi digunakan secara luas untuk menyarankan

produk kepada pelanggan dan untuk menyediakan pelanggan dengan informasi

sehingga membantu pelanggan memutuskan pilihan produk yang akan dibeli

(Mortensen, Magnus. 2007). Hal ini menjadi sangat penting bagi keberhasilan

industri di bidang teknologi informasi dan e-commerce saat ini yang secara bertahap mendatangkan keuntungan dari segi popularitas di berbagai aplikasi, misalnya proyek

Netflix, Google news, dan Amazon.

Sistem rekomendasi dibangun dengan tujuan membantu user untuk memilih

item-item yang disukainya dari sekian banyak item yang tersedia. Teknik pencari item

yang akan direkomendasikan dapat dilakukan berdasarkan kemiripan, bisa berupa

kemiripan suatu item dengan item lainnya, berdasarkan konten atau kemiripan selera suatu user dengan user lain berdasarkan rating yang diberikan pada item.

2.2.1 Teknik Pengumpulan Data Recommender System

Dalam pengumpulan data yang akan digunakan dalam sistem rekomendasi

dapat dilakukan dengan dua cara (Sanjung, Ariyani. 2011) yaitu secara eksplisit dan

implisit :

1. Secara eksplisit dapat dilakukan misalnya dengan meminta user untuk merating sebuah item dari range tertentu, memberikan ranking berdasarkan dari item yang disukai dan yang tidak disukai oleh user, ataupun dengan meminta user untuk melakukan list terhadap item-item yang disukai.

2. Implisit dilakukan dengan mengamati pola kecenderungan user (behavior user) melalui observasi social network atau dengan mengamati item-item yang sering dilihat atau didengar oleh user. Dengan kata lain, jika secara eksplisit

(19)

2.2.2 Metode – Metode Recommender System

Berdasarkan pendekatan yang digunakan untuk menghasilkan rekomendasi,

recommender system dapat diklasifikasikan dalam tiga kelompok utama (Leimstoll, U., Stormer, H. 2007) adalah sebagai berikut :

1. Content Based Recommender System.

Metode content based membuat rekomendasi dengan menganalisa deskripsi setiap item untuk mengidentifikasi item mana yang mempunyai hubungan ketertarikan khusus dari seorang user. Deskripsi ketertarikan user diperoleh dari profil user yang didasarkan atas penilaian menarik atau tidaknya suatu

item yang ada pada recommender system ini (Pazzani, Michael J. & Billsus, Daniel. 2007). Pada data item film misalnya, deskripsi konten bisa berupa

genre, aktor yang berpartisipasi, sutradara, dan sebagainya. 2. Collaborative Filtering Recommender System.

Pendekatan collaborative filtering merekomendasikan item kepada user

berdasarkan korelasi antara rating user yang berbeda terhadap item atau transaksi user di dalam sistem. Sementara user merating item, sistem akan menggunakan data rating user tertentu untuk melakukan perhitungan prediksi dan memberikan rekomendasi item yang belum pernah dirating oleh user

tersebut.

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

(20)

2.3 Metode Collaborative Filtering

Collaborative filtering (CF) adalah teknologi recommender system yang paling sukses dan populer saat ini, serta penggunaan CF sangat sukses untuk berbagai

recommender system yang ada di internet. Teknik ini menggunakan teknik statistik

untuk menemukan satu set user yang dikenal sebagai neighbors, dimana setiap user

memiliki kesamaan minat dan pendapat dengan target user (yaitu, mereka memiliki beberapa ratingitem yang sama atau kecenderungan user menyukai item yang sama). Setelah lingkungan neighbors terbentuk, sistem ini akan menggunakan beberapa algoritma untuk menghasilkan rekomendasi.

Gambar 2.1. Proses Collaborative Filtering (Sarwar, Badrul. 2001).

Dalam skenario CF terdapat daftar pengguna m user U = {u1, u2,…, um} dan daftar item I = {p1, p2,…, pn}. Setiap ui user mengekspresikan pendapatnya tentang daftar item miliknya. Kumpulan set dari pendapat itu disebut dengan rating dari user

ui dan dilambangkan dengan Iui. Setelah sistem ini menentukan ketetanggaan

terdekat, maka sistem akan merepresentasikan item yang mungkin disukai user dalam dua bentuk, yaitu:

1. Prediksi, merupakan nilai numerik dimana Pa,j adalah nilai prediksi rating item j yang mungkin disukai oleh active user (Ua). Nilai prediksi ini digunakan dengan skala yang sama dengan nilai yang disediakan (misalnya,

(21)

2. Rekomendasi adalah daftar N item yang mungkin akan disukai oleh user Ua. Daftar yang direkomendasikan biasanya terdiri dari item yang belum pernah dibeli atau dirating oleh active user. Output dari algoritma CF ini juga dikenal sebagai Top-N Recommendation.

Gambar 2.1 menunjukkan diagram skema dari proses collaborative filtering. Algoritma CF merepresentasikan seluruh m x n user-item sebagai matriks rating

dimana setiap entri merupakan nilai rating dari user untuk setiap item. Active user

(Ua) pada skema ini merupakan user yang akan dicari item yang mungkin disukainya dengan menggunakan algoritma CF (Sarwar, Badrul. 2001).

2.3.1 Pendekatan Berbasis Collaborative Filtering

Terdapat dua bentuk pendekatan berbasis collaborative filtering, yaitu user

-based CF dan item-based CF.

1. User-based CF 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 user-based CF mencoba untuk menemukan user neighbor berdasarkan pada user similarity dan kemudian setiap nilai rating dari userneighbor yang telah ditentukan sebelumnya. 2. Algoritma Item-based CF memiliki skema yang hampir sama dengan user

-based CF, jika sebelumnya user-based CF yang dicari adalah korelasi antara

user, maka pada item-based CF korelasi yang dicari adalah antar item yang disukai oleh user kemudian item yang berkorelasi tersebut direkomendasikan terhadap sejumlah user lainnya.

2.3.2 Konsep Dasar Collaborative Filtering

Collaborative filtering melakukan penyaringan data berdasarkan kemiripan karakteristik user sehingga mampu memberikan informasi yang baru kepada user

karena sistem memberikan informasi berdasarkan pola satu kelompok user yang hampir sama. Perbedaan minat pada beberapa anggota kelompok menjadikan sumber

(22)

Secara umum proses pemberian rekomendasi terdiri atas tiga langkah, yaitu:

penemuan similar user, pembuatan ketetanggaan (neighbour), dan penghitungan prediksi berdasarkan tetangga yang dipilih. Collaborative filtering menghasilkan prediksi atau rekomendasi bagi pengguna atau pelanggan yang dituju terhadap satu

item atau lebih. Item dapat terdiri atas apa saja yang dapat disediakan manusia seperti misalnya buku, film, seni, artikel, atau tujuan wisata. Rating dalam collaborative filtering dapat berbentuk dari model-model sebagai berikut:

a) Model rating skalar yang terdiri atas rating numerik seperti 1 (satu) sampai 5 (Lima).

b) Model rating biner dengan memilih antara setuju atau tidak setuju, atau dapat pula baik atau buruk.

2.4 Metode User-Based Collacborative Filtering

User-based Collaborative Filtering menggunakan teknik statistika untuk menemukan sekumpulan pengguna, dikenal sebagai tetangga (neighbour), yang

memiliki sejarah setuju dengan pengguna yang menjadi sasaran. Setelah sekumpulan

tetangga terbentuk, sistem menggunakan algoritma yang berbeda untuk

menggabungkan kesukaan neighbours untuk menghasilkan prediksi atau rekomendasi N-teratas untuk user aktif. (Sarwar, Badrul. 2001).

Pada pendekatan user based collaborative filtering sistem memberikan rekomendasi kepada user item-item yang disukai atau dirating oleh user-user lain yang memiliki banyak kemiripan dengannya. Misalnya, user a menyukai atau

merating item 1, 2 dan 3, kemudian user b menyukai item 1, 2 dan 4 maka sistem akan merekomedasikan item 3 kepada user b dan item 4 kepada user a.

(23)

Gambar 2.2 Pola user based collaborative filtering (Sarwar, Badrul. 2001). 2.4.1 Algoritma K-MeansClustering

Algoritma yang digunakan pada proses pembentukan user cluster adalah algoritma K-means. Jumlah k merupakan input yang digunakan algoritma untuk menentukan seberapa banyak jumlah cluster yang ingin dibentuk. Adapun langkah-langkah pada K-means clustering adalah sebagai berikut (Xue, Gui-Rong. 2005) :

1. Tentukan beberapa k user yang dijadikan sebagai centroid.

2. Setiap user yang tidak menjadi centroid dibandingkan ke centroid terdekat berdasarkan nilai similarity.

3. Kalkulasi ulang nilai centroid berdasarkan rata-rata nilai kumpulan user di setiap cluster yang terbentuk.

4. Lakukan proses pembentukan ulang cluster dengan nilai centroid yang baru hingga nilai centroid stabil atau mendekati nilai centroid sebelumnya.

(24)

2.4.2 Data Smoothing

Sparsity adalah masalah fundamental yang ada pada collaborative filtering, dengan menerapkan data smoothing pada sistem CF maka masalah ini dapat diminimalisir. Smoothing dilakukan dengan mengisi missing value pada dataset

dengan rating bayangan. Berdasarkan hasil clustering, teknik smoothing data untuk

(25)

2.4.3 Neighbor Pre-Selection, Menentukan Cluster untuk Active User

Tahapan terpenting dari algoritma collaborative filtering adalah mencari tetangga terdekat dari active user di dalam suatu cluster. Nilai similarity berperan dalam proses mencari user-user yang memiliki kesamaan dengan active user dan menentukan tetangga terdekat dari active user tersebut. Pada metode CF proses semacam ini akan dilakukan dengan mencari tetangga terdekat ke seluruh database. Hal ini berpengaruh pada proses komputasi ketika item dan user baru ditambahkan ke dalam database. Dengan penerapan konsep cluster, komputasi sistem dapat menjadi lebih baik. Kelompok user di dalam cluster direpresentasikan oleh centroid cluster.

Centroid sendiri direpresentasikan sebagai hasil rata-rata rating dari seluruh user

yang ada di cluster. Dalam menentukan beberapa cluster yang memiliki nilai kesamaan dengan active user dilakukan dengan mengkalkulasi nilai similarity antara

active user dengan kumpulan user-user di suatu cluster menggunakan persamaan berikut (Xue, Gui-Rong. 2005) :

Setelah melakukan kalkulasi terhadap nilai similarity antara setiap grup dan

(26)

2.4.4 Neighbor Selection (Pencarian Tetangga Terdekat)

Jika cluster active user telah ditentukan, maka dilanjutkan dengan tahap pencarian tetangga terdekat. Hal ini berdampak pada proses perhitungan untuk

mencari tetangga terdekat bagi active user sehingga terdapat nilai untuk variabel wut

yang merupakan confidential weight untuk user u terhadap item t, didefinisikan sebagai berikut (Xue, Gui-Rong. 2005) :

λ merupakan parameter yang digunakan untuk penyesuaian antara original rating

dan group rating. Nilai λ berkisar antara 0 hingga 1. Dalam pencarian tetangga terdekat digunakan persamaan berikut ini untuk menentukan nilai similarity :

merupakan nilai similarity antara active user dengan user-user dalam suatu

cluster.

2.4.5 Perhitungan Nilai Prediksi

Jumlah tetangga terdekat terhadap active user serta confidential weight yang menggabungkan rating-rating mempengaruhi proses perhitungan nilai prediksi. Perhitungan nilai prediksi tersebut menggunakan persamaan sebagai berikut (Xue,

Gui-Rong. 2005) :

(27)

2.5 Mean Absolute Error (MAE)

Mean Absolute Error merupakan persamaan yang termasuk jenis statistical accuracy metrics, dimana MAE merupakan metrics yang paling sering digunakan untuk pengukuran akurasi dari recommender system. Sesuai dengan namanya, MAE menghitung nilai rata-rata selisih antara nilai prediksi dengan nilai sebenarnya (Xue,

Gui-Rong. 2005). Nilai MAE sendiri, berkisar antara 0 hingga 1. Semakin kecil nilai

MAE menandakan semakin akurat prediksi nilai rating dari sebuah recommender system (Xue, Gui-Rong. 2005).

2.6 Blackbox

Blackbox testing adalah pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak. Jadi

dianalogikan seperti kita melihat suatu kotak hitam, kita hanya bisa melihat

penampilan luarnya saja, tanpa tau ada apa dibalik bungkus hitamnya. Sama seperti

pengujian blackbox, mengevaluasi hanya dari tampilan luar fungsionalitasnya (Interfacenya saja). Tanpa mengetahui apa sesungguhnya yang terjadi dalam proses detilnya (hanya mengetahui input dan output).

 Menurut Myers (1979) :

Proses menjalankan program dengan maksud menemukan kesalahan.  Menurut IEEE (1990) :

1. Pengujian yang mengabaikan mekanisme internal sistem atau komponen

dan fokus semata-mata pada output yang dihasilkan yang merespon input

(28)

2. Pengujian yang dilakukan untuk mengevaluasi pemenuhan sistem atau

komponen dengan kebutuhan fungsional tertentu.

2.7 Sistem

Suatu sistem pada dasarnya merupakan suatu susunan yang teratur dari

kegiatan yang berhubungan satu sama lain dan prosedur-prosedur yang berkaitan

yang melaksanakan dan mempermudah pelaksanaan kegiatan utama dari suatu

organisasi.

2.7.1 Pengertian Sistem

Sistem adalah jaringan kerja dari prosedur-prosedur yang saling berhubungan,

berkumpul, bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan

suatu sasaran tertentu (Jogiyanto. HM. 2005). Definisi sistem dapat dilihat dari dua

kelompok pendekatan yaitu yang menekankan pada prosedur dan yang menekankan

pada komponen atau elemennya.

1. Berdasarkan Penekanan Prosedur

Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

berhubungan, berkumpul bersama untuk melakukan sesuatu kegiatan atau

untuk menyelesaikan suatu sasaran yang tertentu.

2. Berdasarkan Penekanan Komponen

Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk

mencapai suatu tujuan tertentu.

2.7.2 Elemen Sistem

Adapun dalam suatu sistem, dikenal berbagai elemen-elemen yang menyusun

suatu sistem, yaitu sebagai berikut :

a) Tujuan

Dalam suatu sistem pasti memiliki suatu tujuan, mungkin hanya satu atau

mungkin juga banyak. Dalam suatu tujuan inilah yang menjadi pemotivasi yang

mengarahkan akan suatu sistem. Tanpa adanya suatu tujuan, maka suatu sistem

(29)

b) Masukan

Masukan input sistem adalah segala sesuatu yang masuk ke dalam suatu

sistem yang kemudian menjadi bahan yang nantinya menjadi bahan untuk

diproses. Masukan sistem ini dapat berupa hal-hal yang berwujud (kenyataan)

ataupun yang tidak tampak (khayalan). Adapun beberapa contoh, seperti masukan

sistem yang berjalan yang berupa bahan mentah yang berwujud. Sedangkan

masukan sistem yang tidak tampak atau tidak berwujud adalah sebuah informasi,

dikarnakan sebuah informasi tidak berwujud atau tidak tampak dengan kasat

mata.

c) Proses

Proses adalah suatu bagian yang melakukan perubahan atau transformasi dari

masukan menjadi keluaran yang berguna dan lebih bernilai dalam mencapai suatu

tujuan dapat berupa informasi dan produk, akan suatu proses bisa juga berupa

hal-hal yang tidak berguna atau yang tidak diinginkan, misalnya seperti pembuangan

limbah yang nantinya juga dapat menimbulkan suatu masalah dalam pencapaian

suatu tujuan

d) Keluaran

Keluaran atau output disini adalah lanjutan tahapan dari tahapan proses.

Dalam output yang dihasilkan dari tahapan-tahapan sebelumnya ialah dapat

berupa informasi yang diinginkan, laporan dan lain-lain.

e) Batas atau boundary

Batasan atau boundary adalah pemisah antara suatu sistem dengan daerah di

luar sistem atau yang bisa disebut juga lingkungan. Dalam batas suatu sistem

akan menentukan konfigurasi, ruang lingkup dan kemampuan suatu sistem.

Contohnya adalah suatu perusahaan yang memiliki peraturan akan tetapi

perusahaan atau organisasi tersebut memilik keterbatasan kemampuan karyawan

atau pegawainya. Tentu saja batas suatu sistem dapat dikurangi atau diperbaharui

(30)

f) Mekanisme pengendalian dan umpan balik

Mekanisme pengendalian disini dapat diwujudkan dengan menggunakan

umpan balik, yang mencuplik keluaran. Umpan balik ini digunakan dengan tujuan

untuk mengendalikan suatu masukan maupun proses. Tujuannya utamanya adalah

untuk mengatur agar sistem berjalan sesuai dengan tujuan.

g) Lingkungan

Lingkungan merupakan segala sesuatu yang berada diluar sistem. Lingkungan

ini bisa berpengaruh terhadap suatu operasi sistem dalam arti bisa merugikan atau

menguntungkan suatu sistem itu sendiri. Lingkungan yang merugikan tentu saja

harus dihindari dan dikendalikan supaya tidak mengganggu akan kelangsungan

operasi sistem, sedangkan yang menguntungkan tetap harus terus dijaga, dikarena

akan memacu terhadap kelangsungan hidup sistem tersebut.

2.7.3 Karakteristik Sistem

Suatu sistem mempunyai karakteristik atau sifat-sifat yang tertentu, yaitu

mempunyai komponen-komponen (component), batas sistem (boundary), lingkungan luar sistem (environments), penghubung (interface), masukan (input), pengolahan (process) keluaran (output) dan sasaran (objektif) atau tujuan (goals) .

a) Komponen Sistem

Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang

artinya saling bekerjasama membentuk suatu kesatuan. Komponen-komponen

sistem atau elemen-elemen sistem dapat berupa suatu sub sistem atau

bagian-bagian dari sistem. Setiap sub-sub sistem mempunyai sifat-sifat dari sistem yang

menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara

keseluruhan.

b) Batas Sistem

Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan

sistem dengan sistem lainnya atau dengan lingkungan lainnya. Batas sistem ini

(31)

c) Lingkungan Luar Sistem

Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang

mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat

menguntungkan dan dapat juga bersifat merugikan. Lingkungan luar yang

menguntungkan merupakan energi dari sistem dengan demikian harus dijaga dan

dipelihara, sedangkan lingkungan luar yang merugiakan harus ditahan dan

dikendalikan kalau tidak maka akan menggangu kelangsungan hidup dari sistem.

d) Penghubung Sistem

Penghubung merupakan media penghubung antara sub sistem dengan

subsistem lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya

mengalir dari satu subsistem ke subsistem lainnya. Keluaran (output) dari subsistem akan menjadi masukan (input) pada sistem lainnya dengan penghubung satu subsistem dapat berintegrasi dengan subsistem lainnya membentuk satu

kesatuan.

e) Masukan Sistem

Masukan sistem adalah energi yang dimasukan ke dalam sistem. Masukan

dapat berupa masukan perawatan (maintenance input) dan masukan (signal input). maintenance input adalah energi yang dimasukkan supaya sistem tersebut

dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan

keluarannya.

f) Keluaran Sistem

Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi

keluaran yang berguna dan sisa keluaran dapat merupakan masukan untuk

subsistem yang lain atau kepada supra sistem.

g) Pengolahan Sistem

Suatu sistem dapat mempunyai suatu bagian pengolahan atau sistem itu

sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi

(32)

Bentuk umun dari suatu sistem terdiri atas masukan (input), proses dan keluaran (output) seperti terlihat pada gambar 2.1 dalam bentuk umum sistem ini bisa melakukan satu atau lebih masukan yang akan diproses dan menghasilkan

keluaran sesuai dengan rencana yang telah ditentukan sebelumnya .

INPUT PROSES OUTPUT

Gambar 2.3 Bentuk Umum Sistem (Jogiyanto. HM. 2005).

2.8 Artificial Intelligince

Dewasa ini Artificial Intelligince (AI) banyak menarik minat dan perhatian

dari masyarakat luas. Menurut (Kusumadewi, Sri. 2003), AI adalah salah satu bagian

ilmu komputer yang membuat agar komputer dapat melakukan pekerjaan seperti dan

sebaik yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya

dipakai sebagai alat hitung saja. Namun, seiring perkembangan jaman maka peran

komputer semakin mendominasi kehidupan umat manusia.

Manusia bisa menjadi pandai dalam menyelesaikan suatu persoalan karena

manusia mempunyai pengehtahuan dan disertai pengalaman. Pengetahuan diperoleh

dari belajar. Semakin banyak bekal pengehtahuan yang dimiliki seseorang, maka

orang tersebuat diharapkan dapat lebih mampu dalam menyelesaikan suatu persoalan.

Agar komputer pun dapat bertindah seperti dan sebaik manusia, maka komputer juga

harus diberi bekal pengehtahuan dan mempunyai kemampuan untuk berpikir. Pada

AI, komputer dibekali beberapa metode yang diharapkan agar komputer dapat

menjadi benda yang pintar.

2.8.1 Bidang – Bidang Kecerdasan Buatan

a. Sistem Pakar (Expert System)

Sistem pakar adalah program komputer yang didesain untuk berlaku

(33)

pakar biasanya hanya digunakan untuk membantu para ahli dalam

memecahkan suatu masalah.

b. Natural Language Procesing (NLP)

Natural Language Processing adalah komputer yang dimaksudkan untuk mengenal makna dari bentuk kalimat berbeda-beda. Selain mampu

mengerti bahasa sehari-hari, NLP juga mencakup kemampuan

membentuk kalimat dalam bahasa sehari-hari.

c. Pengenalan Pola

Recognition adalah program komputer yang ditujukan untuk mengenali suatu objek. Contohnya dalam Speech Recognation, komputer dapat mengenali suara, dan sekaligus bias membedakan berbagai macam bentuk

sinyal. Contoh lain dalam Character Recognation, komputer dapat mengenali karakter, sekaligus dapat membedakan berbagai macam bentuk

karakter.

d. Computer Vision

Ilmu pengetahuan dan teknologi komputer yang berkaitan dengan

pengolahan citra komputer seakan dapat melihat benda, terkait dengan

teori untuk membangun suatu sistem yang terdiri dari gambar. Contoh

yang sering digunakan adalah pendeteksian plat nomor kendaraan.

e. Robotic

Mesin yang diprogram untuk melakukan tugas-tugas mekanik,

berintelegensi dan dapat member respon terhadap perubahan lingkungan.

Contohnya adalah Asimo dan Aibo.

f. Automatic Programming

Komputer yang dapat membuat program sendiri dan menyesuaikan

dengan spesifikasi yang dinginkan oleh pemrogram.

g. Planning and Decission Support

Komputer yang memiliki kemampuan khusus untuk membantu manajer

(34)

h. Soft Computing

Soft Computing adalah koleksi dari beberapa metodologi yang bertujuan untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan,

ketidakpastian dan kebenaran parsial untuk dapat diselesaikan dengan

mudah, kuat, dan biaya penyelesaiannya murah. Definisi ini pertama kali

diungkapkan oleh Prof. Lofti Zadeh pada tahun 1992. Soft Computing

merupakan inovasi baru dalam membangun sistem cerdas. Sistem cerdas

ini merupakan sistem yang memiliki keahlian seperti manusia pada

domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih

baik jika terjadi perubahan lingkungan.

2.9 Basis Data

Sistem basis data adalah sistem terkomputerisasi yang tujuan utamannya

adalah memelihara data yang sudah diolah atau informasi dan membuat informasi

tersedia saat dibutuhkan. Pada intinya basis data adalah media untuk menyimpan data

agar dapat diakses dengan mudah dan cepat. Basis data relasional yang

diimplementasikan dengan tabel-tabel yang saling memiliki relasi.

Gambar 2.4 Ilustrasi Basis Data (Shalahuddin, Muhammad & Rosa Ariani S. 2011)

Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data apapun

bentuknya, entah berupa file teks ataupun Database Management System (DBMS). Kebutuhan basis data dalam sistem informasi meliputi :

1. memasukkan, menyimpan , dan mengambil data

(35)

2.9.1 Bahasa Basis Data

DBMS merupakan perantara bagi pemakai dengan basis data dalam disk. Cara

berkomunikasi/berinteraksi antara pemakai dengan basis data tersebut diatur dalam

suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa

tersebut dapat disebut sebagai bahasa basis data yang terdiri atas sejumlah perintah

yang diformulasikan oleh user dan diproses oleh DBMS untuk melakukan suatu aksi

atau pekerjaan tertentu.

Ada 3 bahasa yang digunakan dalam basis data yaitu :

1. DDL (Data Definition Language )

Merupakan bahasa definisi data yang digunakan untuk membuat dan

mengelola objek database seperti database, tabel dan view.

2. DML (Data Manipulation Language)

Merupakan bahasa manipulasi data yang digunakan untuk memanipulasi

data pada objek database seperti tabel.

3. DCL (Data Control Language)

Merupakan bahasa yang digunakan untuk mengendalikan pengaksesan

data.

2.9.2 SQL (Structured Query Language)

SQL(Structured Query Language) adalah bahasa yang digunakan untuk mengelola data pada RDBMS. SQL awalnya dikembangkan berdasarkan teori aljabar

relasional dan kalkulus.

SQL mulai berkembang pada tahun 1970. SQL mulai digunakan sebagai

(36)

Meskipun SQL diadopsi dan diacu sebagai bahasa standar oleh hampir

sebagian besar RDBMS yang beredar saat ini, tetapi tidak semua standar yang

tercantum dalam SQL diimplementasikan oleh seluruh DBMS tersebut, sehingga ada

perbedaan perilaku (hasil yang ditampilkan) oleh DBMS yang berbeda padahal query

yang dimasukkan sama. Berikut ini merupakan contoh pengaksesan data pada DBMS

sengan SQL yang secara umum terdiri dari 4 hal sebagai berikut:

1. Memasukkan data (insert)

Gambar 2.5 Query Insert

Query di atas digunakan untuk memasukkan data mahasiswa dengan nim 10108530,

nama Teguh Budianto, dan tanggal lahir 17 agustus 1990 ke tabel tabel_mahasiswa.

2. Mengubah data (update)

Gambar 2.6 Query Insert

Query pada gambar 2.4 digunakan untuk mengubah data lahir mahasiswa dengan nim = 10108530 menjadi 21 Maret 1990 dalam tabel_mahasiswa.

3. Menghapus data (delete)

INSERT INTO Tabel_Mahasiswa (nim, nama, tanggal_lahir) VALUES

(‘10108530’,’Teguh Budianto’,’17-08-1990’)

Update Tabel_mahasiswa SET

tanggal_lahir = ‘1990-03-21’ WHERE

nim = ‘10108530’

DELETE FROM Tabel_Mahasiswa WHERE

(37)

Query pada gambar 2.5 digunakan untuk menghapus data mahasiswa dengan NIM =

10108530 dari tabel_mahasiswa

4. Menampilkan data (select)

Gambar 2.6 Query Select

Gambar 2.8 Query Select

Query pada gambar 2.6 digunakan untuk menampilkan data mahasiswa yang

tersimpan dalam tabel_mahasiswa dengan nim = 10108530.

2.9.3 ERD (Entity Relationship Diagram)

Pemodelan awal basis data yang paling banyak digunakan adalah Entity Relationship Diagram (ERD). ERD dikembangkan berdasarkan teori himpunan dalam bidang matematika. ERD digunakan untuk pemodelan basis data relasional, sehingga jika penyimpanan basis data menggunakan OODBMS maka perancangan

basis data tidak perlu menggunakan ERD.

2.9.4 Diagram Skema Relasi

Skema basis data yang menyatakan kebergantungan kunci utama dan foreign key dapat digambarkan secara grafis dengan diagram skema relasi. Berikut adalah diagram relasi untuk relasi. Pekerja, relasi pekerjaan dan relasi proyek.

Gambar 2.9 Diagram Skema Relasi (Erlangga. 2011) SELECT nim, nama

(38)

Masing masing relasi digambarkan sebagai kotak (persegi) dengan atribut –

atribut didaftarkan didalamnya dan nama relasi muncul diatasnya. Jika tedapat atribut – atribut kunci utama direlasi, satu garis horizontal membelah persegi dimana atribut – atribut kunci utama didaftarkan diatas garis kebergantungan foreign key muncul sebagai anak panah dari atribut – atribut foreign key relasi yang mengacu ke kunci utama dari relasi yang diacu.

Kita tidak boleh menyamakan skema relasi dengan diagram ER. Perbedaan

utama ialah diagram ER tidak menunjukkan secara eksplisit atribut – atribut foreign key sementara diagram skema relasi telah menunjukkan atribut – atribut foreign key

secara eksplisit.

Kebanyakan sistem basis data menyediakan perancangan dengan antarmuka

pemakai secara grafis untuk menciptakan diagram skema relasi. Sekali lagi diagram

yang langsung menyatakan foreign key dan kebergantungan terhadap kunci utama suatu relasi tidak disebut diagram ER melainkan skema relasi. Diagram skema relasi

terdapat di Microsoft Access, PowerDesigner level fisik, serta dimasukkan dalam paket MS SQL Server.

2.10 UML (Unified Modelling Language)

Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.

UML adalah himpunan struktur dan teknik untuk pemodelan desain program

berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk

mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an.

Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML

(39)

sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim

Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk

memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML

dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya

sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan

pengembangan sistem.

2.10.1 Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi

berorientasi objek, yaitu:

1. Use Case Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objek.

4. Collaboration Diagram untuk memodelkan interaksi antar objek. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem.

6. Activity Diagram untuk memodelkan perilaku Use Cases dan objek di dalam sistem.

7. Class Diagram untuk memodelkan struktur kelas. 8. Object Diagram untuk memodelkan struktur objek.

9. Component Diagram untuk memodelkan komponen object. 10.Deployment Diagram untuk memodelkan distribusi aplikasi.

Berikut akan dijelaskan empat macam diagram yang paling sering digunakan

(40)

1. Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Aktor merepresentasikan orang yang akan mengoperasikan atau orang yang

berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi-operasi yang dilakukan oleh aktor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan didalamnnya. Aktor yang melakukan operasi dihubungkan dengan garis

lurus ke use case.

Gambar 2.10 Contoh Use Case Diagram (Erlangga. 2011).

2. Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan

(41)

Gambar 2.11 Contoh SequenceDiagram (Erlangga. 2011). 3. Collaboration Diagram

Collaboration diagram dipakai untuk memodelkan interaksi antar objek di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih focus pada pemahaman atas keseluruhan operasi yang dilakukan oleh objek.

(42)

4. Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai

suatu tujuan.

Gambar 2.13 Contoh Class Diagram (Erlangga. 2011). 2.11 PHP (Personal Home Page)

PHP merupakan bahasa pemograman server side yang didesain untuk aplikasi web. PHP merupakan bahasa pemograman yang dapat disisipkan dalam html, pada

awalanya php diperuntukan untuk pembuatan website pribadi yang bersifat dinamis.

Sedangkan menurut Sutarman dalam bukunya yang berjudul Membangun Aplikasi

Web dengan PHP & MySQL edisi 2 mengatakan bahwa :

PHP adalah salah satu bahasa server side yang di desain khusus untuk aplikasi web

(43)

2.12 Framework

Framework sebagaimana arti dalam bahasa indonesianya yaitu kerangka kerja dapat diartikan sebagai kumpulan dari library (class) yang dapat diturunkan, atau dapat langsung dipakai fungsinya oleh modul-modul atau fungsi yang akan kita

kembangkan. (Septian, Gungun. 2011).

2.12.1 Pengertian PHP Framework

PHP Framework adalah sebuah lingkungan pengembangan aplikasi berbasis php yang berisi sejumlah class yang telah dibuat agar digunakan kembali untuk membuat aplikasi. Berbagai jenis class ini tergantung tujuan dari PHP framework

tersebut, dan php framework yang satu dengan framework yang lain kemungkinan berbeda. Sebagian besar php framework yang tersedia saat ini berbasis MVC (model view controller). Ini adalah model php framework yang modern. (Septian, Gungun. 2011).

2.12.2 Framework CodeIgniter

CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis. Dengan menggunakan PHP CodeIgniter akan memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuat dari awal.

(Septian, Gungun. 2011).

2.12.3 MVC (Model View Controller)

MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi

logika dari presentasi. Ini meminimalkan script dari halaman-halaman web sejak

script presentasi (HTML, CSS, JavaScript, dsb) dipisahkan dari PHP scripting, istilah umum yang familiar adalah menghindari terjadinya spaghetti code. (Septian, Gungun. 2011).

A. Model

Model merepresentasikan struktur data yang dibangun. Umumnya kelas

(44)

B. View

View adalah informasi yang disajikan untuk user, berupa tampilan atau user interface. View umumnya adalah tampilan sebuah halaman web itu sendiri, tetapi dalam CodeIgniter, view dapat juga menjadi bagian-bagian atau penggalan-penggalan halaman seperti header atau footer. View dapat juga sebagai halaman RSS, atau tipe-tipe halaman lainnya.

C. Controller

Controller bertugas sebagai penghubung antara Model, View, dan beberapa

resource lainnya yang dibutuhkan untuk memproses HTTP request untuk

meng-generate sebuah halaman web. 2.13 Pengertian jQuery

jQuery merupakan library Java Script yang banyak digunakan saat ini. jQuery

di buat oleh John Resig pada tahun 2006. Banyak website yang memanfaatkan library

ini untuk menyederhanakan fungsi-fungsi yang ada pada JavaScript atau Ajax. Sesuai dengan slogannya jQuery sendiri “Write less, do more”, menulis sedikit namun dapat mengerjakan banyak hal, sehingga Anda dapat menghemat coding program Anda. 2.14 Pengertian HTML (Hypertext markup Language)

HTML adalah Format Dokumen bahasa yang digunakan untuk merancang

halaman web. HTML adalah sistem untuk membuat naik atau menandai, sebuah

dokumen sehingga dapat dipublikasikan di web. HTML mendefinisikan apa yang

umumnya ditularkan antara node dalam network. HTML telah dikembangkan dengan maksud agar berbagai macam jenis perangkat harus dapat memanfaatkan informasi di

web PC dengan tampilan grafis dari kedalaman resolusi dan warna yang bervariasi. 2.15 Jaringan Semantik

Jaringan semantik merupakan pengetahuan secara grafis yang menunjukkan

hubungan antar berbagai objek. Suatu jaringan semantik sederhana bisa dilihat pada

(45)

Gambar 2.13 Contoh jaringan semantik (J, Durkin. 1994)

Jaringan semantik disusun dari node dan arc (Lines). Node merupakan

representasi dari objek, objek properti atau properti value. (digambarkan dengan

lingkaran).

Arc merupakan representasi dari hubungan antar node. (digambarkan dengan

garis). Baik node maupun arc memiliki label yang secara jelas menjelaskan

representasi dari objek dan hubungan antar node.

Hampir semua objek, atribut, pemikiran atau apapun dapat dirumuskan dan

(46)

5.1 Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan, dapat diambil

kesimpulan sebagai berikut :

1. Untuk mempermudah pengguna dalam menemukan musik yang dicari,

maka pengguna dapat menggunakan fitur pencarian yang ada atau dapat

melihat dari hasil jumlah rating pengguna itu sendiri serta dapat juga

dengan melihat daftar 10 musik terpopuler ataupun hasil rating musik

tertinggi.

2. Hasil akurasi yang dicapai pada pengujian dengan metode ini tergolong

kurang akurat karena dengan menerapkan jumlah hasil terkecil yaitu

jumlah cluster = 3 dan jumlah k (jumlah user yang menjadi tetangga terdekat dari active user) = 50% dapat menghasilkan rata-rata MAE = 0,6713 artinya lebih dari 0.5 untuk mendekati nilai 0, karena MAE sendiri

memiliki rentang nilai dari 0 – 1.

5.2 Saran

Beberapa hal yang disarankan untuk pengembangan penelitian ini adalah

sebagai berikut:

1. Berdasarkan hasil penelitian ini maka disarankan untuk menggunakan

metode lain guna menghasilkan prediksi musik yang lebih baik dengan

nilai MAE mendekati 0 atau tidak lebih dari 0.5.

2. Prosedur pengujian dapat dilakukan dengan cara yang berbeda, misalnya

(47)

pengujian pada penelitian ini. Hal ini akan mempengaruhi tingkat akurasi

dari recommender system yang akan dibangun.

3. Metode ini dapat dicoba pada penelitian dengan item lain, seperti buku,

berita pada koran digital, film, dan lainnya dengan pola pengumpulan

(48)

DATA DIRI

NAMA LENGKAP : TEGUH BUDIANTO

TEMPAT, TANGGAL LAHIR : Cilacap, 17 Agustus 1990

NO. TELEPON : 083820450571, 085227800807

EMAIL : [email protected]

ALAMAT : Jl.Geger Kalong Tengah No.68

PENDIDIKAN

SEKOLAH DASAR : SDN 02 Karang Benda, Kec. Adipala

SMP : SMP NEGERI 2 Karang Benda, Kec. Adipala

SMA : SMK TAMTAMA KROYA

PERGURUAN TINGGI : UNIVERSITAS KOMPUTER INDONESIA

(49)
(50)

DENGAN METODE USER-BASED COLLABORATIVE

FILTERING

Teguh Budianto 1, Galih Hermawan2 Program Studi Teknik Informatika. UNIKOM. Jl. Dipatiukur No. 114 – 116, Bandung 40132.

E-mail : [email protected] , [email protected]

ABSTRAK

Sistem rekomendasi merupakan model aplikasi dari hasil observasi terhadap keadaan dan keinginan pengguna, oleh karena itu sistem perekomendasi memerlukan model rekomendasi yang tepat agar yang di rekomendasikan sesuai dengan keinginan pengguna. Industri musik belakangan ini mengalami perubahan yang sangat signifikan. Konsumen kini cenderung mengakses dan membeli konten secara online dibandingkan pergi ke sebuah toko, hal ini jelas menimbulkan masalah pertumbuhan data yang sangat cepat di internet sehingga menyebabkan terlalu banyaknya informasi yang tersedia.

Dalam penelitian ini sistem rekomendasi dianalisa dan dibangun dengan menggunakan metode user-based collaborative filtering karena dengan algoritma ini melibatkan subyektifitas pengguna sehingga rekomendasi yang dihasilkan mempunyai kualitas yang baik. Namun metode user-based collaborative

filtering ini masih mempunyai kekurangan yaitu

adanya scalability (keadaan dimana tingginya jumlah peningkatan user dan item di dalam database) dan sparsity (terjadinya kekosongan data matriks user-item), oleh karena itu perlu digunakan algoritma tambahan yaitu K-Means clustering dan proses smoothing yang bertujuan untuk menangani dua masalah utama tersebut.

Berdasarkan implementasi dan hasil pengujian maka dapat ditarik kesimpulan sebagai berikut, berdasarkan penggunaan metode user-based collaborative filtering ini mampu mengatasi masalah kekosongan data dengan tingkat sparsity sebanyak 70% namun untuk hasil akhir dari pengujian metode ini menggunakan MAE (Mean Absolute Error) yang mempunyai rentang nilai 0 – 1 didapatkan data yaitu 0,6713 artinya penggunaan metode ini menghasilkan nilai lebih dari 0,5 maka dapat disimpulkan metode ini masih kurang akurat oleh karena itu perlu digunakan algoritma lain yang menghasilkan nilai yang lebih akurat, atau tidak lebih dari 0,5.

Kata kunci : Sistem Rekomendasi, user-based

1. PENDAHULUAN

Industri musik belakangan ini mengalami perubahan yang sangat signifikan. Konsumen kini cenderung mengakses dan membeli konten secara online dibandingkan pergi ke sebuah toko, hal ini jelas menimbulkan masalah pertumbuhan data yang sangat cepat di internet menyebabkan terlalu banyaknya informasi yang tersedia. Hal ini menyebabkan seseorang mengalami kesulitan dalam mendapatkan informasi mengenai musik yang cepat dan sesuai dengan kebutuhan. Untuk itu diperlukan sistem rekomendasi sehingga dapat membantu seseorang menemukan informasi musik yang sesuai dengan kebutuhannya (Saptariani, Trini. 2014).

Dalam penelitian ini sistem rekomendasi akan dianalisa dan dibangun dengan menggunakan metode user-based collaborative filtering karena dengan algoritma ini melibatkan subyektifitas pengguna dalam perhitungan sehingga rekomendasi yang dihasilkan mempunyai kualitas yang baik. Namun metode user-based collaborative filtering ini masih mempunyai kekurangan yaitu adanya :

1. Scalability, yaitu keadaan dimana tingginya jumlah peningkatan user dan item di dalam database yang mempengaruhi menurunnya komputasi algoritma user-based collaborative filtering.

2. Sparsity, yaitu terjadinya kekosongan data

matriks user-item, yang disebabkan karena user merating dalam jumlah kecil dari jumlah item yang tersedia di dalam database.

Oleh karena itu perlu digunakan algoritma tambahan yaiitu K-Means clustering dan proses smoothing yang bertujuan untuk menangani dua masalah utama tersebut. Music recommender system ini dibangun diatas platform web, dengan pertimbangan perangkat lunak yang dibangun harus memiliki kemampuan untuk menangani banyak pengguna.

Gambar

Gambar 2.3 Bentuk Umum Sistem (Jogiyanto. HM. 2005).
Gambar 2.4 Ilustrasi Basis Data (Shalahuddin, Muhammad & Rosa Ariani S. 2011)
Gambar 2.5 Query Insert
Gambar 2.9 Diagram Skema Relasi (Erlangga. 2011)
+7

Referensi

Dokumen terkait

Pada penelitian kali ini, peneliti menggunakan Rumus (4) untuk mencari prediksi, karena variabel yang digunakan sangatlah spesifik dan melibatkan lebih banyak

Bagian kedua adalah tabel dataset protein, bagian ketiga adalah menunjukkan jumlah dataset dan cluster serta menampilkan nilai akhir dari Silhouette Coefficient ,

Hasil dari evaluasi pola pada dataset Program Studi T dengan jumlah cluster sebanyak 4 cluster, maka diperoleh cluster 0 sebagai cluster yang terbaik

5.2 Pengujian Pengaruh Jumlah Semester terhadap terhadap Tingkat Akurasi Hasil Prediksi Item-Based Collaborative Filtering Perhitungan akurasi yang pertama dilakukan

Pada penelitian kali ini, peneliti menggunakan Rumus (4) untuk mencari prediksi, karena variabel yang digunakan sangatlah spesifik dan melibatkan lebih banyak

Copyright © 2022 Sri Sutjiningtyas, Page 147 Jurnal BIT is licensed under a Creative Commons Attribution 4.0 International License 3.3 Pengujian Sistem Untuk contoh perhitungan,

93 halaman ganti profil berhasil, menunjukkan halaman lihat profil 9 Tap navigasi login di halaman drawer navigasi Menunjukkan halaman login OK 10 Memasukkan nomor HP dan sandi

66 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Dari penelitian yang telah selesai dilakukan untuk membangun sistem rekomendasi produk pada aplikasi marketplace dengan menggunakan