PENERAPAN ALGORITMA SQUEEZER UNTUK MEMBERIKAN PENERAPAN ALGORITMA SQUEEZER UNTUK MEMBERIKAN PENERAPAN ALGORITMA SQUEEZER UNTUK MEMBERIKAN PENERAPAN ALGORITMA SQUEEZER UNTUK MEMBERIKAN
REKOMENDASI PILIHAN LAGU BERDASARKAN DAFTAR LAGU REKOMENDASI PILIHAN LAGU BERDASARKAN DAFTAR LAGU REKOMENDASI PILIHAN LAGU BERDASARKAN DAFTAR LAGU REKOMENDASI PILIHAN LAGU BERDASARKAN DAFTAR LAGU
YANG DIMAINKAN PADA PEMUTAR MP3 ANDROIDYANG DIMAINKAN PADA PEMUTAR MP3 ANDROIDYANG DIMAINKAN PADA PEMUTAR MP3 ANDROIDYANG DIMAINKAN PADA PEMUTAR MP3 ANDROID
Eko Wahyu Wibowo
5108 100 193
Dosen Pembimbing
Dr. Ir. Siti Rochimah, M.T.
Abdul Munif, S.Kom., M.Sc.
Presentasi Tugas AkhirPresentasi Tugas AkhirPresentasi Tugas AkhirPresentasi Tugas Akhir
Daftar isi Pendahuluan
Algoritma
Squeezer Penerapan
Algoritma
Implementasi
Sistem
Pengujian
dan
Evaluasi
Kesimpulan
Latar belakang
Maraknya industri musik
Kemajuan teknologi
Musik yang tepat untuk pendengar
yang tepat
Rumusan masalah
Bagaimana menentukan kecenderungan tipe lagu yang
didengarkan menggunakan algoritma Squeezer.
Bagaimana menentukan rekomendasi lagu berdasarkan
kecenderungan tipe lagu menggunakan algoritma Squeezer.
Bagaimana membangun aplikasi pemutar mp3 pada
Android.
Bagaimana membangun layanan web pada JAVA berbasis REST.
Batasan masalah
Aplikasi pemutar mp3 dibangun dengan menggunakan Android API
level 2.3.
Layanan web dibangun menggunakan JAVA berbaiss REST.
Berkas musik yang dapat dimainkan adalah dalam format
.mp3
Tag (Metadata) berkas mp3 sudah terisi dan benar.
Rekomendasi yang diberikan berupa daftar lagu dengan judul dan
artis pada lagu yang tersedia dalam basis data server.
Tujuan
Membuat sebuah sistem rekomendasi
yang dapat memberikan rekomendasi lagu
berdasarkan daftar lagu yang dimainkan
dengan menerapkan algoritma Squeezer.
Algoritma Squeezer
Algoritma Squeezer
Algorithm Squeezer(D,s)
Begin
while (D has unread tuple){
tuple = getCurrentTuple(D)
if(tuple.tid == 1){
addNewClusterStructure(tuple, tid)}
else{
for each existing cluster C
simComputation(C, tuple)
get the max value of similarity : sim_max
get the corresponding Cluster Index: index
if sim_max >= s
addTupleToCluster(tuple, index)
else
addNewClusterStructure(tuple, tid)}
}
handleOutliers()
outputClusteringResult()
End
Sub_Function simComputation(C, tuple)
Defin sim = 0
for each attribute value a1 on Ai
sim = sim + probability of ai on C
return sim
Sub_Function addNewClusterStructure(tid)
Cluster = {tid}
for each attribute value a1 on Ai
VSi = (ai,1)
add VSi to Summary
CS = {Cluster, Summary}
Sub_Function addTupleToCluster(tuple, index)
Cluster = Cluster U {tuple, tid}
for each attribute value a1 on Ai
VSi = (ai,Sup(ai)+1)
add VSi to Summary
CS = {Cluster, Summary}
Gambar 1 Algoritma Squeezer
Gambar 2 Sub fungsi addNewclusterStructure
Gambar 3 Sub fungsi addTupleToCluster
Gambar 4 Sub fungsi simComputation
ContohNo. Judul Artis Album Genre Tahun Rating
1 Your Call Secondhand A Twist in
My Story
Pop 2008 Awesome
2 Last Time Secondhand Deluxe
Edition
Pop 2010 Good
3 Gone Too
Soon
Simple Plan Heart on! Punk 2010 Awesome
4 Like A Knife Secondhand New Life Pop 2012 Awesome
(�
���)x0.2+(
�
�����)x0.2+(
�
���)x0.2+(
�
���)x0.2+(
�
���)x0.2 = 0.4
(�
���)+(
�
�����)+(
�
���)+(
�
���)+(
�
���) = 2
simComputation( {1,2,3} , 4 )
Penerapan Algoritma Squeezer
Mengelompokkan
daftar riwayat lagu
Memberikan
Rekomendasi
Mengelompokkan daftar riwayat lagu
Mengulangi sampai daftar riwayat lagu habis
Memasukkan lagu terpilih ke dalam kelompok
Mengambil kelompok dengan kemiripan paling besar
Mengecek kemiripan lagu terpilih dengan setiap kelompok
Mangambil daftar riwayat lagu
Memberikan Rekomendasi
Mangambil daftar
kandidat lagu
Mengecek kemiripan
lagu terpilih dengan
kelompok acuan
Memasukkan lagu
terpilih kedalam
rekomendasi jika
memenuhi ambang
batas
Mengulangi sampai
daftar kandidat lagu
habis
Implementasi Sistem
Bagian klien
System
Pengguna
Memainkan lagu
Mengelola tag laguMelihat daftar lagu
Mengelola daftar putar
Melihat rekomendasi
<<include>>
<<include>>
<<include>>
Registrasi
Mengelola profil
<<include>>
Melihat riwayat lagu
Bagian server
System
Administrator Mengubah lagu
Menambahkan lagu
Menghapus lagu
Melihat daftar lagu di server
<<include>>
<<include>>
<<include>>
Pengujian dan Evaluasi
Pengujian Fungsionalitas
Pengujian Non Fungsionalitas
Pengujian Kebergunaan
Pengujian FungsionalitasID Nama Skenario Hasil
UJ.UC.NP.1 Pengujian registrasi Skenario 1 Berhasil
Skenario 2 Berhasil
Skenario 3 Berhasil
UJ.UC.NP.2 Pengujian mengelola profil Skenario 1 Berhasil
Skenario 2 Berhasil
Skenario 3 Berhasil
Skenario 4 Berhasil
Skenario 5 Berhasil
UJ.UC.NP.3 Pengujian melihat daftar lagu Skenario 1 Berhasil
Skenario 2 Berhasil
UJ.UC.NP.4 Pengujian memainkan lagu Skenario 1 Berhasil
Skenario 2 Berhasil
Skenario 3 Berhasil
UJ.UC.NP.5 Pengujian megelola tag lagu Skenario 1 Berhasil
UJ.UC.NP.6 Pengujian mengelola daftar putar Skenario 1 Berhasil
Skenario 2 Berhasil
UJ.UC.NP.7 Pengujian mengelola riwayat lagu Skenario 1 Berhasil
Skenario 2 Berhasil
Skenario 3 Berhasil
UJ.UC.NP.8 Pengujian melihat rekomendasi Skenario 1 Berhasil
Skenario 2 Berhasil
Skenario 3 Berhasil
UJ.UC.WS.1 Pengujian melihat daftar lagu
server
Skenario 1 Berhasil
UJ.UC.WS.2 Pengujian menambahkan lagu Skenario 1 Berhasil
Skenario 2 Berhasil
UJ.UC.WS.3 Pengujian mengubah lagu Skenario 1 Berhasil
Skenario 2 Berhasil
UJ.UC.WS.4 Pengujian menghapus lagu Skenario 1 Berhasil
12 kasus
penggunaan
27 skenario
100 % BERHASIL
Pengujian Non Fungsionalitas
� Akurasi
� Rata-rata skenario 1 = 1
� Rata-rata skenario 2 = 0.69
� Rata-rata Akurasi
� 0.845 = 84 %
Skenario Jumlah riwayat lagu Konfigurasi
Skenario 1 50 Ambang batas : 0.7
Artis : 0.2
Album : 0.2
Genre : 0.2
Tahun : 0.2
Peringkat : 0.2
Skenario 2 50 Ambang batas : 0.6
Artis : 0.4
Album : 0.0
Genre : 0.4
Tahun : 0.1
Peringkat : 0.1
� Master lagu server = 300 lagu
� Komposisi lagu sama
� Kelompok acuan
� Skenario 1 = 8 lagu
� Skenario 2 = 16 lagu
� Rekomendasi
� Skenario 1 = 8 lagu
� Skenario 2 = 21 lagu
Pengujian Kebergunaan
Melalui pembagian kuisioner
10 Responden secara acak dari berbagai kalangan
60% setuju aplikasi mudah digunakan
60% setuju rekomendasi yang diberikan bermanfaat
dan mereka menyukainya
Kesimpulan
1. Sistem dapat memberikan rekomendasi
2. Algoritma Squeezer dapat diterapkan
untuk memberikan rekomendasi lagu
3. Fungsionalitas sistem dapat berjalan
dengan baik
4. Respon pengguna terhadap rekomendasi
yang diberikan cukup positif
Terima Kasih.