PENERAPAN ITEM-BASED COLLABORATIVE FILTERING DALAM PEMBUATAN SISTEM REKOMENDASI LAGU.

(1)

Taufik Ikbal Samsudin, 2013

PENERAPAN ITEM-BASED COLLABORATIVE FILTERING

DALAM PEMBUATAN SISTEM REKOMENDASI LAGU

SKRIPSI

Diajukan untuk Memenuhi Sebagian dari Syarat untuk Memperoleh Gelar Sarjana Komputer

Program Studi Ilmu Komputer

Oleh :

TAUFIK IKBAL SAMSUDIN 0608722

PROGRAM STUDI ILMU KOMPUTER

FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA

BANDUNG 2013


(2)

PENERAPAN ITEM-BASED COLLABORATIVE FILTERING

DALAM PEMBUATAN SISTEM REKOMENDASI LAGU

Oleh

Taufik Ikbal Samsudin

Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Komputer (S.Kom) pada Fakultas Pendidikan

Matematika dan Ilmu Pengetahuan Alam

© Taufik Ikbal Samsudin 2013 Universitas Pendidikan Indonesia

Agustus 2013

Hak Cipta dilindungi undang-undang.

Skripsi ini tidak boleh diperbanyak seluruhya atau sebagian, dengan dicetak ulang, difoto kopi, atau cara lainnya tanpa ijin dari penulis.


(3)

PENERAPAN ITEM-BASED COLLABORATIVE FILTERING DALAM PEMBUATAN SISTEM REKOMENDASI LAGU

SKRIPSI

TAUFIK IKBAL SAMSUDIN 0608722

Disetujui dan disahkan oleh: Dosen Pembimbing I,

Budi Laksono, M.T. NIP.

Dosen Pembimbing II,

Novi Sofia F , M.T. NIP.

Mengetahui,

Ketua Program Studi Ilmu Komputer

Rasim, M.T. NIP.


(4)

PERNYATAAN

Saya menyatakan bahwa skripsi yang berjudul “Penerapan Item-Based Collaborative Filtering Dalam Pembuatan Sistem Rekomendasi Lagu” ini sepenuhnya karya saya sendiri. Tidak ada bagian di dalamnya yang merupakan plagiat dari karya orang lain dan saya tidak melakukan penjiplakan atau pengutipan dengan cara-cara yang tidak sesuai dengan etika keilmuan yang berlaku dalam masyarakat keilmuan. Atas pernyataan ini, saya siap menanggung risiko/sanksi yang dijatuhkan kepada saya apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini.

Bandung, Agustus 2013

Yang membuat pernyataan

Taufik Ikbal Samsudin

NIM. 0608722


(5)

(6)

ABSTRAK

Sistem rekomendasi merupakan sebuah sistem yang memberikan informasi tentang sesuatu hal misalnya film, musik, berita atau layanan lainnya yang mungkin diminati dan sesuai dengan profil penggunanya. Dalam skripsi ini dijelaskan tentang implementasi sistem rekomendasi lagu dengan menggunakan metode item-based collaborative filtering. Metode item-based collaborative filtering memanfaatkan rating atau catatan transaksi dalam membuat rekomendasi. Eksperimen dilakukan dengan mencari jumlah item yang dapat menghasilkan akurasi tertinggi. Eksperimen menggunakan sebanyak 789 instance data rating yang telah didapatkan. Hasil dari eksperimen tersebut diketahui bahwa dengan menggunakan K=20 didapatkan nilai MAE terendah yaitu 0,166667.

Kata Kunci : Sistem Rekomendasi, Item-Based Collaborative Filtering, Lagu atau musik.


(7)

ii

Taufik Ikbal Samsudin, 2013

ABSTRACT

About things such as movies, music, news or other services that may be of interest and in accordance with the user profile. In this paper explained about the implementation of a music recommendation system using item-based collaborative filtering. Methods of item-based collaborative filtering ratings or records transactions utilize in making recommendations. Experiments carried out by finding the number of items that can produce the highest accuracy. Experiments using 789 as an instance of ratings data that has been obtained. Results of the experiments it was found that by using K = 20 obtained the lowest MAE value is 0.166667.

Keywords: System Recommendations, Item-Based Collaborative Filtering, song or music.


(8)

DAFTAR ISI

ABSTRAK... Error! Bookmark not defined. ABSTRACT ... Error! Bookmark not defined. KATA PENGANTAR ... Error! Bookmark not defined. DAFTAR ISI ... vii

DAFTAR TABEL ... x

DAFTAR GAMBAR ... xi

BAB I PENDAHULUAN ... Error! Bookmark not defined. 1.1 Latar Belakang ... Error! Bookmark not defined. 1.2 Rumusan Masalah ... Error! Bookmark not defined. 1.3 Batasan Masalah ... Error! Bookmark not defined. 1.4 Tujuan Penelitian ... Error! Bookmark not defined. 1.5 Metode Penelitian ... Error! Bookmark not defined. 1.6 Sistematika Penulisan ... Error! Bookmark not defined. BAB II TINJAUAN PUSTAKA ... Error! Bookmark not defined. 2.1 Sistem Rekomendasi ... Error! Bookmark not defined.

2.2 Collaborative Filtering ... Error! Bookmark not defined.

2.3 Item-based Collaborative Filtering . Error! Bookmark not defined.


(9)

viii

Taufik Ikbal Samsudin, 2013

2.3.2 Menghitung prediksi untuk suatu item.Error! Bookmark not defined.

2.4 Karakteristik Item-based Collaborative FilteringError! Bookmark not defined.

2.5 Mean Absolute Error (MAE) ... Error! Bookmark not defined.

BAB III METODOLOGI PENELITIAN .. Error! Bookmark not defined. 3.1 Desain Penelitian ... Error! Bookmark not defined. 3.2 Fokus Penelitian ... Error! Bookmark not defined. 3.3 Metode Penelitian ... Error! Bookmark not defined. 3.3.2 Metode Pengembangan Perangkat LunakError! Bookmark not defined.

3.3.2 Model Proses ... Error! Bookmark not defined. 3.4 Alat dan Bahan Penelitian ... Error! Bookmark not defined. 3.1.1 Alat Penelitian ... Error! Bookmark not defined. 3.4.2 Bahan Penelitian ... Error! Bookmark not defined. BAB IV HASIL PENELITIAN DAN PEMBAHASANError! Bookmark not defined.

4.1 Pembahasan Penelitian ... Error! Bookmark not defined. 4.1.1 Tabel Data Rating ... Error! Bookmark not defined. 4.1.2 Pembuatan Nilai Kemiripan Antar ItemError! Bookmark not defined.


(10)

4.1.3 Menghitung Prediksi ... Error! Bookmark not defined. 4.1.4 Menghitung Nilai MAE (Mean Absolute Error) ... Error! Bookmark not defined.

4.2 Penelitian ... Error! Bookmark not defined. 4.2.1 Kondisi Data ... Error! Bookmark not defined. 4.2.2 Prosedur Penelitian ... Error! Bookmark not defined. 4.3 Hasil Penelitian ... Error! Bookmark not defined. 4.3.1 Hasil MAE berdasarkan Jumlah N (Item)Error! Bookmark not defined.

4.4 Pengembangan Perangkat Lunak... Error! Bookmark not defined.

4.4.1 Formulation ... Error! Bookmark not defined.

4.4.2 Planning ... Error! Bookmark not defined. 4.4.3 Modeling ... Error! Bookmark not defined. 4.4.4 Deployment ... Error! Bookmark not defined. BAB V KESIMPULAN DAN SARAN ... Error! Bookmark not defined. 5.1 Kesimpulan ... Error! Bookmark not defined. 5.2 Saran ... Error! Bookmark not defined. DAFTAR PUSTAKA ... Error! Bookmark not defined. LAMPIRAN ... Error! Bookmark not defined.


(11)

x

Taufik Ikbal Samsudin, 2013

Lampiran A. Tabel Validasi dan Reliabilitas Untuk Karakteristik User Menyukai Lagu ... Error! Bookmark not defined. Lampiran B. Grafik User yang Mengetahui Aplikasi Sistem Rekomendasi ... Error! Bookmark not defined. Lampiran C. Pertanyaan Untuk Kuisioner . Error! Bookmark not defined. RIWAYAT HIDUP ... Error! Bookmark not defined.


(12)

DAFTAR TABEL No table of figures entries found.

Tabel 4. 1 Tabel Rating User ... Error! Bookmark not defined. Tabel 4. 2 Tabel Data Rating ... Error! Bookmark not defined. Tabel 4. 3 Tabel Rata-rata Rating User ... Error! Bookmark not defined. Tabel 4. 4 Tabel nilai kemiripan antar lagu ... Error! Bookmark not defined. Tabel 4. 5 Hasil prediksi untuk setiap lagu yang belum dirating user ... Error! Bookmark not defined.

Tabel 4. 6 Hasil Pengujian 10-fold Cross Validation untuk N yang diberikan ... Error! Bookmark not defined. Tabel 4. 7 Waktu Pengujian 10-fold Cross Validation untuk N yang diberikan ... Error! Bookmark not defined. Tabel 4. 8 Perencanaan pengembangan perangkat lunak .... Error! Bookmark not defined.

Tabel 4. 9 Daftar kebutuhan fungsional ... Error! Bookmark not defined. Tabel 4. 10 Tabel definisi use case ... Error! Bookmark not defined. Tabel 4. 11 Daftar spesifikasi detail antarmuka halaman utama Error! Bookmark not defined.

Tabel 4. 12 Rencana dan bentuk pengujian ... Error! Bookmark not defined. Tabel 4. 13 Hasil pengujian ... Error! Bookmark not defined.


(13)

xii

Taufik Ikbal Samsudin, 2013

DAFTAR GAMBAR

Gambar 2. 1 Ilustrasi Sistem Rekomendasi ... Error! Bookmark not defined. Gambar 2. 2 Proses Collaborative Filtering (George Karypis, 2001) ... Error! Bookmark not defined.

Gambar 2. 3 Ilustrasi Skema Item-based Collaborative Filtering ... Error! Bookmark not defined.

Gambar 3.1 Desain Penelitian ... Error! Bookmark not defined. Gambar 3.2 Model Proses WebE (Roger S. Pressman, 2004) .. Error! Bookmark not defined.

Gambar 4. 1 Query Untuk Menghasilkan Nilai Rata-rata Rating Tiap User Error! Bookmark not defined.

Gambar 4. 2 Grafik MAE berdasarkan jumlah N (item) .... Error! Bookmark not defined.

Gambar 4. 3 Content Model ... Error! Bookmark not defined. Gambar 4. 4 Diagram use case... Error! Bookmark not defined. Gambar 4. 5 Diagram aktifitas membuat rekomendasi... Error! Bookmark not defined.

Gambar 4. 6 Diagram keterhubungan antara M-V-C (Thomas Myer, 2008) ... Error! Bookmark not defined. Gambar 4. 7 Antarmuka halaman utama sistem .. Error! Bookmark not defined. Gambar 4. 8 Halaman Login ... Error! Bookmark not defined. Gambar 4. 9 Halaman Home/Rating ... Error! Bookmark not defined. Gambar 4. 10 Halaman Rekomendasi... Error! Bookmark not defined.


(14)

(15)

1

Taufik Ikbal Samsudin, 2013

BAB I PENDAHULUAN

1.1 Latar Belakang

Seiring dengan perkembangan teknologi yang sangat maju dan kebutuhan akan informasi sangat pesat. Bahkan saat ini teknologi menjadi kebutuhan yang sangat primer diantara kebutuhan yang lain. Hal ini dikarenakan adanya kemudahan yang ditawarkan teknologi bagi kegiatan manusia sehari-hari, khususnya untuk mendapatkan informasi yang saat ini sudah tidak bias dibendung penyebarannya.

Berdasarkan ranking pada Alexa.com (2013), last.fm menempati rangking akses paling tinggi dibandingkan dengan situs rekomendasi lain yang sejenis, saat ini terdaftar sekitar 640 juta lagu di last.fm (2013), ini mememicu suatu keadaan dimana user mengalami kesulitan dalam memilih dan mencari artis atau judul lagu yang sesuai dengan selera. Last.fm sendiri merupakan situs sistem rekomendasi lagu yang mempunyai cara kerja scrobling, yaitu mengolah data dengan memutar lagu di music player dan disinkronisasikan dengan database pada server. Berkaitan dengan ini, sekarang banyak sistem yang dirancang untuk memenuhi selera dengan menyaring dan memberikan informasi atau rekomendasi sesuai dengan selera user .Mekanisme ini dikenal dengan system rekomendasi.

Sistem rekomendasi telah banyak diaplikasikan dalam berbagai bidang. Salah satunya dibidang pariwisata yaitu Jelajah (Fajar Gumelar, 2010), lalu pada bidang Film (IrfanNur Hakim, 2011) dan sebagainya. Pada penelitian ini yang


(16)

akan ditekankan adalah itemrating yang disukai oleh user dengan mengacu pada enam aspek yaitu lirik, artist, musikalitas, genre, mood, dan lagu yang sedang hits. Selain itu, masyarakat kurang mengetahui adanya sistem rekomendasi, hal ini terbukti dengan hasil responden dimana 78% masyarakat yang mengisi kuisioner tidak mengetahui adanya sistem rekomendasi lagu. (Lampiran B)

Dalam penelitian ini, system rekomendasi akan dibangun dengan menggunakan Item-based Colaborative Filtering dimana langkah-langkah utamanya yaitu, mengimplementasikan algoritma similarity, untuk mengetahui prediksi dari rating.

Adapun metode tersebut akan digunakan pada studi kasus dalam me-rating sebuah lagu dan tidak menutup kemungkinan dapat diterapkan untuk melakukan filterisasi dalam mesinpencarian untuk menghasilkan peringkat pencarian yang berdasarkan item pengguna.

Saat ini penggunaan platform web sudah banyak digunakan dalam membangun sebuah perangkat lunak, ini dikarenakan suatu perangkat lunak berbasis web memungkinkan digunakan oleh banyak user, efisien dan sangat cepat dalam pendistribusian informasi kepada user. Hal ini mendorong dibangunnya sebuah sistem rekomendasi music dengan menggunakan platform

web.

Dengan dibuatnya system rekomendasi lagu ini diharapkan dapat menyuguhkan informasi tentang lagu baru dan mungkin akan disukai oleh user.


(17)

3

Taufik Ikbal Samsudin, 2013

1.2 Rumusan Masalah

Dalam penelitian ini telah dirumuskan beberapa masalah yang harus diselesaikan, yaitu :

1. Bagaimana membangun sebuah sistem rekomendasi lagu?

2. Bagaimana cara kerja dari metode item-based collaborative filtering? 3. Sejauh mana hasil akurasi rekomendasi dari metode item-based

collaborative filtering?

1.3 Batasan Masalah

Untuk memfokuskan penelitian, ditetapkan batasan masalahnya sebagai berikut :

1. Pengimplementasian metode item-based collaborative filtering dengan menggunakan bahasa pemograman PHP.

2. Pada pengujian, yang ditinjau adalah aspek akurasi dari rekomendasi, dan dilakukan pada dataset yang telah didapatkan.

3. Hasil rekomendasi berupa daftar lagu beserta penyanyi/artis yang memiliki nilai prediksi rating yang paling tinggi yang dihasilkan user.

4. User akan mendapatkan rekomendasi lagu apabila telah merating lebih dari

20 lagu pada sistem.

5. Skala penilaian (rating) yang digunakan adalah skala 1-5, dimana :

a. Rating 1 berarti lagu sangat buruk.


(18)

c. Rating 3 berarti lagu biasa saja.

d. Rating 4 berarti lagu baik.

e. Rating 5 berarti lagu sangat baik.

1.4 Tujuan Penelitian

Tujuandaripenelitianiniadalah :

1. Mengetahui langkah-langkah dalam membangun suatu sistem rekomendasi lagu.

2. Mengatahui cara kerja dari metode item-based collaborative filtering. 3. Mengetahui hasil akurasi rekomendasi dari metode item-based

collaborative filtering.

1.5 Metode Penelitian

Adapun metode yang digunakan pada penelitian ini antara lain: 1. Eksplorasi dan Studi Literatur

Eksplorasi dan studi literatur dilakukan dengan mempelajari konsep-konsep yang berkaitan dengan penelitian ini seperti API pada twitter. 2. Analisis dan Perancangan Perangkat Lunak

Analisis dan perancangan perangkat lunak dilakuakan untuk menentukan permasalahan, struktur data, input/output program, dan permasalahan


(19)

5

Taufik Ikbal Samsudin, 2013

Detail mengenai implementasi program dilakukan sesuai hasil analisis pada tahap sebelumnya. Sedangkan pengujian dilakukan terhadap aplikasi apakah berjalan dengan baik atau tidak.

4. Hasil Akhir dan Penarikan Kesimpulan

Hasil akhir merupakan tahapan berikutnya setelah pengujian yang nantinya akan ditarik kesimpulan berdasarkan hasil akhir tersebut.

1.6 Sistematika Penulisan

Dalam penulisan laporannya, sistematika penulisan dibagi kedalam beberapa bab sebagai berikut :

BAB I PENDAHULUAN

Pada bab ini dijelaskan tentang latar belakang penelitian, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Bab ini berisi landasan teori yang digunakan sebagai sumber dan alat dalam memahami permasalahan yang berkaitan dengan sistem rekomendasi. BAB III METODOLOGI PENELITIAN

Bab ini berisi tentang penjelasan dari desain penelitian, metode yang digunakan dalam proses penelitian, serta alat dan bahan yang digunakan dalam penelitian.


(20)

Bab ini berisi tentang penjabaran dari penelitian yang dilakukan beserta pembahasan hasil penelitian tersebut.

BAB V KESIMPULAN DAN SARAN

Bab ini memeparkan kesimpulan dari hasil penelitian beserta saran-saran yang dapat digunakan untuk penelitian selanjutnya.


(21)

7


(22)

BAB III

METODOLOGI PENELITIAN

3.1 Desain Penelitian

Gambar 3.1 merupakan desain penelitian sistem yang akan digunakan pada sistem rekomendasi lagu dengan menggunakan Item-Based Collaborative Filtering.

Gambar 3.1 Desain Penelitian


(23)

19

Taufik Ikbal Samsudin, 2013

a. Studi Literatur

Mengumpulkan dan mempelajari literatur atau kepustakaan yang berhubungan dengan penelitian ini, berupa jurnal ilmiah, artikel maupun sumber-sumber bacaan lainnya.

b. Langkah Awal Penelitian 1. Pengumpulan Data Lagu

Mengumpulkan data lagu, dimana data lagu yang akan digunakan adalah sebagian data lagu yang tergolong top chart (top 500) Indonesia (Februari 2013).

Dalam penelitian ini, pengumpulan data lagu menggunakan

Application Programming Interface (API) dari http://www.last.fm

dimana peneliti membuat aplikasi khusus untuk mendapatkan data lagu dari database mereka.

2. Persiapan Data

Data yang sudah terkumpul (data lagu) dipersiapkan untuk dapat diproses dan di-rating oleh user. Prosesnya yaitu user secara sukarela mendaftar pada aplikasi dan merating untuk setiap lagu yang telah didengarnya dengan skala rating 1-5.

c. Implementasi Rating Lagu

Langkah selanjutnya yaitu tahap implementasi rating lagu, tahapan yang dilaksanakan dalam implementasi ini adalah sebagai berikut :


(24)

Memasukan data lagu yang akan diproses kedalam sistem. Data yang dimasuk meliputi artis, judul lagu dan album yang tergabung dalam satu paket data lagu. Data lagu ini diambil dari http://www.last.fm dengan menggunakan API yang disediakan oleh http://www.last.fm.

2. User me-rating lagu

Data lagu yang telah dimasukan lalu di rating oleh user yang sudah mendaftar sebelumnya. Di tahapan ini user me-rating sesuai dengan penilaian sendiri dan bersifat subjektif. Data lagu yang di-rating sudah tersedia di sistem dan tidak bisa ditambahkan oleh user. Penilaian yang diberikan user berdasarkan karakteristik berikut ini (LampiranA):

a. artis b. genre c. lirik d. mood e. musikalitas f. sedang hits

Setelah tahapan implementasi data lagu selesai, lalu dilanjutkan dengan penerapan metode yang digunakan yaitu Item-Based

Collaborative Filtering. Pada tahapan ini, seluruh data yang telah

di-input-kan pada tahapan implementasi dibagi menjadi dua, yaitu :


(25)

21

Taufik Ikbal Samsudin, 2013

Data latih yaitu data yang belum diproses dan akan melalui proses dari Item-Based Collaborative Filtering. Data yang diambil untuk diproses yakni 90% dari keseluruhan.

2. Data Uji

Data uji yaitu data yang akan dibandingkan dengan data latih. Data yang akan diproses yaitu sisa dari data latih yakni 10%. Setelah data dibagi menjadi dua yakni data latih dan data uji proses yang akan dilakukan yaitu penerapan dari Item-Based Collaborative Filtering.

d. Menghitung Similarity

Tahap ini adalah tahap untuk menghitung similarity dari matriks

group-rating dan matriks item-rating dan menggabungkan hasil similarity untuk

perhitungan prediksi rating. Dasar perhitungan untuk kedua similarity tersebut dengan menggunakan metode adjusted-cosine similarity dan dilakukan untuk masing-masing matriks.

e. Menghitung Prediksi untuk Suatu Item

Setelah menetapkan jumlah similarity lalu dilanjutkan dengan menghitung prediksi. Weighted sum digunakan untuk menghitung prediksi

rating pada item yang belum dirating.

f. Prediksi Sistem

Setelah data latih melewati serangkaian proses maka akan menghasilkan prediksi sistem. Dimana prediksi sistem ini nilai akurasinya belum mutlak didapat karena belum melalui perbandingan dengan data uji. Untuk


(26)

mengetahui akurasi rating maka harus melewati tahapan berikutnya yakni pengukuran akurasi prediksi rating.

g. Pengukuran Akurasi Prediksi Rating

Untuk mengetahui akurasi prediksi rating maka dilakukan pengukuran data antara data uji dan data latih yang telah melalui serangkaian perhiungan dan menghasilkan prediksi sistem. Pengukuran akurasi prediksi system ini menggunakan perhitungan MAE(Mean Absolute Error)

h. Hasil Rekomendasi Lagu (Sistem)

Setelah proses perhitungan dengan menggunakan Item-Based

Collaborative Filtering di dapat dan diterapkan pada perangkat lunak, maka

sistem rekomendasi lagu bisa ditampilkan kepada user. Data yang ditampilkan berupa lagu dan artis yang direkomendasikan oleh user lain setelah melalui proses rating.

i. Pengembangan Perangkat Lunak

Untuk mendukung metode dari Item-Based Collaborative Filtering dalam sistem rekomendasi tanggal lagu digunakan pendekatan perangkat lunak berbasis objek. Secara mendetail akan dibahas pada metode penelitian (3.3).

3.2 Fokus Penelitian


(27)

23

Taufik Ikbal Samsudin, 2013

(persamaan 2.1). Setelah nilai kemiripan antara item didapatkan, maka selanjutnya digunakan persamaan weigthed sum (persamaan 2.2) untuk menghasilkan nilai prediksi untuk tiap item.

Untuk mengukur tingkat akurasi prediksi yang dihasilkan oleh sistem, digunakan persamaan mean abslolute error (persamaan 2.3).

3.3 Metode Penelitian

3.3.2 Metode Pengembangan Perangkat Lunak

Dalam proses pengembangan perangkat lunak ini, pendekatan yang digunakan adalah pendekatan berorientasi objek, dimana dalam paradigma ini domain permasalahan diabstraksikan sebagai suatu set objek yang mempunyai atribut dan perilaku tertentu.

Pada paradigma berorientasi objek ini, ada beberapa konsep yang harus diketahui, yaitu :

1. Class dan Object

Class merupakan model yang berisi kumpulan attribute dan method dalam

suatu unit untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam pemrograman berorientasi object.

Sedangkan Object merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method yang dimiliki oleh class-nya, contohnya:


(28)

amir, ahmad, yani merupakan object dari class manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.

2. Attribute

Adalah berbagai variabel yang mengitari class, dengan nilai datanya bisa ditentukan di object.

3. Operations, Method, dan Services

Setiap object membungkus data (yang direpresentasikan dalam suatu koleksi attribute) dan algoritma yang akan mengolah data tersebut. Algoritma-algoritma tersebutlah yang dimaksud dengan operations,

method atau services.

4. Messages

Suatu class harus berinteraksi dengan class lainnya untuk mencapai suatu tujuan tertentu. Messages ini memungkinkan object untuk menstimulasi

object lainnya untuk melakukan suatu behavior terentu.

5. Encapsulation, Inheritance, dan Polymorphism

Ketiga hal ini merupakan karakteristik dari paradigma berorientasi objek,

Encapsulation yaitu merupakan suatu mekanisme untuk menyembunyikan

atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan penggunaan sistem tersebut.


(29)

25

Taufik Ikbal Samsudin, 2013

konsep ini class yang dibuat cukup mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan didapatkan dari class yang menjadi induknya.

Polymorphism merupakan konsep yang memungkinkan digunakannya

suatu interface yang sama untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda.

Untuk pemodelan perangkat lunak berorientasi objek, digunakan UML

(Unified Modeling Language) yang merupakan bahasa standar yang digunakan

untuk memvisualisasikan dan menjelaskan artifak dari proses analisis dan desain berorientasi objek. UML menyediakan standar notasi dan diagram-diagram yang bisa digunakan untuk memodelkan sistem.

Diagram-diagram pada UML terbagi kedalam 3 klasifikasi, yaitu :

1. Behavior Diagrams

Jenis diagram yang menggambarkan perilaku fitur dari sistem atau proses bisnis. Diagram-diagram yang termasuk dalam klasifikasi ini adalah

activity diagram, state machine diagram, use case diagram, dan ke 4

subset dari interaction diagrams.

2. Interaction Diagrams

Sebuah subset dari diagram perilaku yang menekankan pada interaksi antar objek. Diagram-diagram yang termasuk dalam klasifikasi ini adalah communication diagram, interaction overview diagram, sequence


(30)

3. Structure Diagrams

Jenis diagram yang menggambarkan unsur-unsur yang harus ada pada sistem. Diagram-diagram yang termasuk dalam klasifikasi ini adalah composite structure diagram, component diagram, deployment diagram,

object diagram, dan package diagrams.

3.3.2 Model Proses

Perangkat lunak yang akan dikembangkan dalam penelitian ini merupakan perangkat lunak berbasis web, sehingga untuk model proses yang akan digunakan adalah Web Engineering Process (Roger S. Pressman, 2004).

Web Engineering (WebE) merupakan suatu proses yang digunakan untuk

menciptakan aplikasi berbasis web yang berkualitas tinggi. Konsep dasar dan prinsip dari WebE secara umum tidak jauh berbeda dengan Software Engineering. Menurut Roger S. Pressman (2010), ada beberapa karakteristik yang membedakan perangkat lunak berbasis web (WebApp) dengan perangkat lunak lainnya, yaitu :

1. Network Intensiveness

Sebuah WebApp berada pada suatu jaringan dan harus melayani kebutuhan dari klien yang berbeda-beda. WebApp ini bisa berada di internet sehingga setiap orang bisa mengaksesnya, atau intranet (hanya satu atau beberapa organisasi yang bisa mengaksesnya).


(31)

27

Taufik Ikbal Samsudin, 2013

Sejumlah besar pengguna dapat mengakses dan menggunakan WebApp pada satu waktu secara bersamaan.

3. Unpredictable load

Jumlah pengguna suatu WebApp bisa berbeda-beda setiap harinya, dan itu tidak bisa diprediksi. 100 pengguna datang pada hari senin, tapi mungkin saja waktu hari selasa bisa 100.000 pengguna yang datang.

4. Performance

Jika pengguna WebApp harus menunggu terlalu lama (untuk mengakses, pemrosesan di sisi server atau sisi klien) maka pengguna mungkin akan memutuskan untuk meninggalkan WebApp tersebut. Maka WebApp dituntut harus mempunyai performa yang baik.

5. Availability

Walaupun harapan untuk 100 persen availability (ketersediaan) tidak masuk akal, tetapi pengguna dari WebApp populer sering menuntut ketersediaan selama 24/7/365.

6. Data driven

Fungsi utama dari sebagian besar WebApp adalah dengan menggunakan hypermedia untuk menyajikan teks, grafis, audio, dan video ke pengguna. Selain itu, WebApp juga digunakan untuk mengakses informasi yang berada pada database.

7. Content sensitive

Kualitas dan estetika dari konten tetap menjadi penentu penting dari kualitas sebuah WebApp.


(32)

8. Continous Evolution

Tidak seperti aplikasi perangkat lunak konvensional yang berkembang melalui serangkaian perencanaan, WebApp berkembang secara terus menerus.

9. Immediacy

Meskipun immediacy (kebutuhan mendesak untuk perangkat lunak segera dirilis dan disebarkan ke publik) adalah karakteristik dari banyak domain perangkat lunak, tatapi WebApp sering menunjukan bahwa waktu untuk segera rilis bisa dalam hitungan hari atau minggu.

10.Security

Karena WebApp tersedia dalam suatu jaringan, diperlukan penerapan keamanan yang lebih demi berjalan baiknya suatu WebApp.

11.Aesthetics

Salah satu komponen penting dan menjadi daya tarik suatu WebApp yaitu desain tampilan dan tata letak konten yang estetis.

Berdasarkan karakteristik khas yang dimiliki oleh suatu perangkat lunak berbasis web, maka diperlukan juga teknik dan metode yang tepat dalam proses pengembangannya.

Menurut Roger S. Pressman (2004), model proses Agile (seperti Extreme

Programming, SCRUM, Adaptive Software Development) bisa berhasil


(33)

29

Taufik Ikbal Samsudin, 2013

tersebut juga merupakan hal yang akan ditemui dalam pengembangan suatu

WebApp, yaitu :

 Perangkat lunak akan sering dirilis secara bertahap.  Perubahan akan sering terjadi secara berkala.

 Mempunyai timeline yang pendek untuk setiap tahap dalam proses. Secara umum, tahap-tahap proses pengembangan perangkat lunak berbasis web dengan model proses WebE terdiri dari 5 tahap (Roger S. Pressman, 2004), yaitu :

1. Formulation/Business Analysis

Formulation merupakan tahap mencari seluruh kebutuhan dari WebApp

dan dengan melibatkan seluruh stakeholders, bertujuan untuk menjelaskan permasalahan yang harus diselesaikan oleh WebApp dengan informasi kebutuhan yang tersedia.

Business Analysis mendefinisikan konteks dari business untuk WebApp,

yaitu pengidentifikasian stakeholder, memprediksi kebutuhan WebApp,

database, pendefinisan fungsi.

2. Planning

Tahap perencanaan untuk WebApp dimana perencanaan berisi definisi dari tiap pekerjaan, lalu jadwal dari jangka waktu yang telah diproyeksikan untuk pengembangan WebApp secara inkremental.

3. Modeling

Desain dan analisis rekayasa perangkat lunak secara konvensional diadaptasi pada proses pengembangan WebApp, digabungkan dan lalu


(34)

menyatu pada tahap modeling ini. Tahap ini bermaksud untuk menghasilkan suatu analisis dan desain model yang telah didefinisikan pada requirement.

4. Construction

Tahap implementasi, dimana tools dan teknologi diterapkan untuk membangun WebApp yang telah sebelumnya dimodelkan. Setelah itu

WebApp yang telah dibangun secara bertahap ditest untuk menemukan

kesalahan yang terjadai pada tahap desain (isi, arsitektur, antarmuka).

5. Deployment

WebApp dikonfigurasikan, dirilis terhadap pengguna, dan tahap evaluasi

dilakukan. Pada tahap ini, feedback dari pengguna dijadikan acuan untuk pengembangan tahap berikutnya.

Kelima alur proses WebE tadi diaplikasikan secara berulang dan bertahap seperti pada ilustrasi dibawah ini.


(35)

31

Taufik Ikbal Samsudin, 2013

3.4 Alat dan Bahan Penelitian 3.1.1 Alat Penelitian

Penelitian ini menggunakan seperangkat sistem komputer beserta perangkat lunak pendukungnya, yaitu :

1. Satu unit komputer dengan spesifikasi :

a. Processor Intel(R) Atom(TM) CPU N455 @ 1.66 GHz (2 CPUs)

b. RAM 1 GB

c. Harddisk 320 GB dgn free space 51GB.

d. Layar monitor dengan resolusi 1024 x 600 pixel, 32 Bit Color

e. Mouse dan Keyboard

2. Perangkat lunak :

a. Sistem Operasi Windows XP SP 2 b. XAMPP 1.7.2

c. Sublime Text 3 dan Notepad++

d. Web Browser (Firefox, Google Chrome, Opera, Safari)

e. Framework Codeigniter

3.4.2 Bahan Penelitian

Data lagu berasal dari situs http://www.last.fm dengan memanfaatkan API-nya yang bisa diakses di http://www.last.fm/api. Lalu, data rating berasal dari user yang telah merating pada sistem.


(36)

BAB I

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah dilakukan pengembangan model sistem rekomendasi lagu dan mengimplementasikan model tersebut pada pembangunan perangkat lunak Sistem Rekomendasi lagu dengan menggunakan Item-based Collaborative Filtering, maka kesimpulan dari penelitian ini adalah:

1. CONTENCIO itu sendiri dibuat sedemikian rupa sehingga dapat menampilkan rekomendasi untuk user yang telah me-rating. Hasil rekomendasi dapat dilihat langsung oleh user setelah melakukan login dengan mengetahi langkah-langkah dari pembuatan sistem rekomendasi lagu.

2. Dari seluruh hasil penelitian yang dilaksanakan, dapat disimpulkan bahwa sistem rekomendasi lagu dapat dibangun dengan menggunakan metode

item-based collaborative filtering dan mengetahui cara kerja dari metode

yang digunakan.

3. Dari hasil perhitungan rata-rata MAE mencapai nilai terendah ketika diberikan jumlah N sebanyak 20 user yaitu pada nilai 1.422833 dan cenderung tetap setelah jumlah N sebanyak 50 user. Perubahan signifikan terjadi saat N hanya berjumlah 10 dengan MAE sebesar 1.588


(37)

64

Taufik Ikbal Samsudin, 2013

Penerapan Item Based Collaborative Fitering Dalam Pembuatan Sistem Rekomendasi Lagu 5.2 Saran

Untuk pengembangan penelitian tentang item-based collaborative filtering dalam pembuatan sistem rekomendasi lagu, ada beberapa hal yang perlu dipertimbangkan, yaitu:

1. Jumlah data rating yang digunakan lebih banyak dan beragam, sehingga tingkat ketersebaran data bisa lebih tinggi. Hal ini bisa membuat rekomendasi akan lebih akurat.

2. Nilai kemiripan antar lagu bisa dipertimbangkan untuk disimpan dalam

database tetapi harus diperbaharui secara berkala. Hal ini bisa mengurangi

cost komputasi dan waktu dalam setiap melakukan prediksi.

3. Metode ini bisa dicoba pada domain objek lainnya, seperti artikel, buku,

e-commerce dll.

4. Sistem yang dibuat dibuat masih harus dikembangkan sesuai dengan baik dari estetika tampilan dan fungsional fitur pendukungnya.


(38)

DAFTAR PUSTAKA

Barber, Ian. 2009. Simple Collaborative Filtering. Online. Tersedia di :

http://phpir.com/simple-collaborative-filtering [Februari 2013].

Burke, Robin. 2000. Knowledge-based recommender systems.

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.6029 [September 2012]

Chen, A., dan Dennis, D M. 2005. Collaborative Filtering for Information

Recommendation Systems. http://imsc-dmim.usc.edu/publications.html, [April

2013].

Ginanjar, Medisa A. Collaborative Filtering, Online. Tersedia di

:http://www.ittelkom.ac.id/library/index.php?view=article&catid=informatika&id =collaborative-filtering&option=com_content&Itemid=15 [April 2013].

Nur hakim, Irfan. 2010. Sistem Rekomendasi Film Berbasis Web Menggunakan Metode Item-Based Collaborative Filterin Berbasis K-Nearest Neighbor. Bandung : Universitas Pendidikan Indonesia

Gumelar, Fajar. 2009. Implementasi Item-Based Collaborative Filtering Pada Sistem

Informasi Pariwisata. Bandung : Universitas Pendidikan Indonesia.

Lin, Alex.2009. Recommendation Engine Demystified.

http://www.intelligentmining.com/knowledge/slides/Recmd.Engine.Demystified. CF102.pdf [September 2012].


(39)

66

Taufik Ikbal Samsudin, 2013 McGraw-Hill. New York.

Sameer. 2008. Item based collaborative filtering in PHP. Online. Tersedia di :

http://www.codediesel.com/php/item-based-collaborative-filtering-php [Mei 2013].

Sarwar, B., Karypis,G., Konstan, J., Riedl, J. 2001. Item-based Collaborative Filtering

Recommendation Algorithm. http://glaros.dtc.umn.edu/gkhome/node/125, [April

2013].

Segaran, Toby. 2007. Programming Collective Intelligence. O’Reilly Media, Inc., 1005

Gravenstein Highway North, Sebastopol, CA 95472.

Wen, Zhang. 2008. Recommendation System Based on Collaborative Filtering.

http://www.stanford.edu/class/cs229/proj2008/Wen-RecommendationSystemBasedOnCollaborativeFiltering.pdf [Juni 2013]


(1)

30

Taufik Ikbal Samsudin, 2013

Penerapan Item Based Collaborative Fitering Dalam Pembuatan Sistem Rekomendasi Lagu Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu

menyatu pada tahap modeling ini. Tahap ini bermaksud untuk menghasilkan suatu analisis dan desain model yang telah didefinisikan pada requirement.

4. Construction

Tahap implementasi, dimana tools dan teknologi diterapkan untuk membangun WebApp yang telah sebelumnya dimodelkan. Setelah itu WebApp yang telah dibangun secara bertahap ditest untuk menemukan kesalahan yang terjadai pada tahap desain (isi, arsitektur, antarmuka). 5. Deployment

WebApp dikonfigurasikan, dirilis terhadap pengguna, dan tahap evaluasi dilakukan. Pada tahap ini, feedback dari pengguna dijadikan acuan untuk pengembangan tahap berikutnya.

Kelima alur proses WebE tadi diaplikasikan secara berulang dan bertahap seperti pada ilustrasi dibawah ini.

Gambar 3.2 Model Proses WebE (Roger S. Pressman, 2004)


(2)

3.4 Alat dan Bahan Penelitian 3.1.1 Alat Penelitian

Penelitian ini menggunakan seperangkat sistem komputer beserta perangkat lunak pendukungnya, yaitu :

1. Satu unit komputer dengan spesifikasi :

a. Processor Intel(R) Atom(TM) CPU N455 @ 1.66 GHz (2 CPUs) b. RAM 1 GB

c. Harddisk 320 GB dgn free space 51GB.

d. Layar monitor dengan resolusi 1024 x 600 pixel, 32 Bit Color e. Mouse dan Keyboard

2. Perangkat lunak :

a. Sistem Operasi Windows XP SP 2 b. XAMPP 1.7.2

c. Sublime Text 3 dan Notepad++

d. Web Browser (Firefox, Google Chrome, Opera, Safari) e. Framework Codeigniter

3.4.2 Bahan Penelitian

Data lagu berasal dari situs http://www.last.fm dengan memanfaatkan API-nya yang bisa diakses di http://www.last.fm/api. Lalu, data rating berasal dari user yang telah merating pada sistem.


(3)

63

Taufik Ikbal Samsudin, 2013

Penerapan Item Based Collaborative Fitering Dalam Pembuatan Sistem Rekomendasi Lagu Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu

BAB I

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah dilakukan pengembangan model sistem rekomendasi lagu dan mengimplementasikan model tersebut pada pembangunan perangkat lunak Sistem Rekomendasi lagu dengan menggunakan Item-based Collaborative Filtering, maka kesimpulan dari penelitian ini adalah:

1. CONTENCIO itu sendiri dibuat sedemikian rupa sehingga dapat menampilkan rekomendasi untuk user yang telah me-rating. Hasil rekomendasi dapat dilihat langsung oleh user setelah melakukan login dengan mengetahi langkah-langkah dari pembuatan sistem rekomendasi lagu.

2. Dari seluruh hasil penelitian yang dilaksanakan, dapat disimpulkan bahwa sistem rekomendasi lagu dapat dibangun dengan menggunakan metode item-based collaborative filtering dan mengetahui cara kerja dari metode yang digunakan.

3. Dari hasil perhitungan rata-rata MAE mencapai nilai terendah ketika diberikan jumlah N sebanyak 20 user yaitu pada nilai 1.422833 dan cenderung tetap setelah jumlah N sebanyak 50 user. Perubahan signifikan terjadi saat N hanya berjumlah 10 dengan MAE sebesar 1.588


(4)

5.2 Saran

Untuk pengembangan penelitian tentang item-based collaborative filtering dalam pembuatan sistem rekomendasi lagu, ada beberapa hal yang perlu dipertimbangkan, yaitu:

1. Jumlah data rating yang digunakan lebih banyak dan beragam, sehingga tingkat ketersebaran data bisa lebih tinggi. Hal ini bisa membuat rekomendasi akan lebih akurat.

2. Nilai kemiripan antar lagu bisa dipertimbangkan untuk disimpan dalam database tetapi harus diperbaharui secara berkala. Hal ini bisa mengurangi cost komputasi dan waktu dalam setiap melakukan prediksi.

3. Metode ini bisa dicoba pada domain objek lainnya, seperti artikel, buku, e-commerce dll.

4. Sistem yang dibuat dibuat masih harus dikembangkan sesuai dengan baik dari estetika tampilan dan fungsional fitur pendukungnya.


(5)

65

Taufik Ikbal Samsudin, 2013

Penerapan Item Based Collaborative Fitering Dalam Pembuatan Sistem Rekomendasi Lagu Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu

DAFTAR PUSTAKA

Barber, Ian. 2009. Simple Collaborative Filtering. Online. Tersedia di : http://phpir.com/simple-collaborative-filtering [Februari 2013].

Burke, Robin. 2000. Knowledge-based recommender systems. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.6029 [September 2012]

Chen, A., dan Dennis, D M. 2005. Collaborative Filtering for Information Recommendation Systems. http://imsc-dmim.usc.edu/publications.html, [April 2013].

Ginanjar, Medisa A. Collaborative Filtering, Online. Tersedia di :http://www.ittelkom.ac.id/library/index.php?view=article&catid=informatika&id =collaborative-filtering&option=com_content&Itemid=15 [April 2013].

Nur hakim, Irfan. 2010. Sistem Rekomendasi Film Berbasis Web Menggunakan Metode Item-Based Collaborative Filterin Berbasis K-Nearest Neighbor. Bandung : Universitas Pendidikan Indonesia

Gumelar, Fajar. 2009. Implementasi Item-Based Collaborative Filtering Pada Sistem Informasi Pariwisata. Bandung : Universitas Pendidikan Indonesia.

Lin, Alex.2009. Recommendation Engine Demystified. http://www.intelligentmining.com/knowledge/slides/Recmd.Engine.Demystified. CF102.pdf [September 2012].

Karypis, George. 2000. Evaluation of Item-Based Top-N Recommendation Algorithms

http://glaros.dtc.umn.edu/gkhome/node/124, [Juli 2013].


(6)

McGraw-Hill. New York.

Sameer. 2008. Item based collaborative filtering in PHP. Online. Tersedia di : http://www.codediesel.com/php/item-based-collaborative-filtering-php [Mei 2013].

Sarwar, B., Karypis,G., Konstan, J., Riedl, J. 2001. Item-based Collaborative Filtering Recommendation Algorithm. http://glaros.dtc.umn.edu/gkhome/node/125, [April 2013].

Segaran, Toby. 2007. Programming Collective Intelligence. O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

Wen, Zhang. 2008. Recommendation System Based on Collaborative Filtering.

http://www.stanford.edu/class/cs229/proj2008/Wen-RecommendationSystemBasedOnCollaborativeFiltering.pdf [Juni 2013]