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
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.
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
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
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.
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
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.
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.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.
x
Taufik Ikbal Samsudin, 2013
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.
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.
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.
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.
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.
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
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.
Bab ini berisi tentang penjabaran dari penelitian yang dilakukan beserta pembahasan hasil penelitian tersebut.
BAB V KESIMPULAN DAN SARAN
7
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
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 :
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
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 :
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
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
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.
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
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
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
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
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
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
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.
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.
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.
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.
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].
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]