laporan tugas ai.pdf

61
PENGANTAR Sistem Rekomendasi Rekomendasi merupakan salah satu hal yang sangat dibutuhkan oleh banyak orang. Kebutuhan akan rekomendasi ini didasari ketidakmampuan seseorang dalam menentukan sebuah pilihan. Kesulitan dalam membuat pilihan ini dapat disebabkan oleh beberapa hal. Salah satu kesulitan tersebut adalah kurangnya pengetahuan seseorang akan suatu hal, sehingga alternatif atau pilihan yang ada hanya sedikit. Selain kurangnya pengetahuan, kondisi informasi yang terlampau banyak membuat seseorang akan sulit menentukan pilihan yang tepat dari sekian banyak pilihan yang tersedia. Dalam kondisi informasi yang semakin banyak dan mudah didapatkan, juga dengan kekurangan-kekurangan yang dimiliki oleh proses untuk mendapatkan rekomendasi dengan cara manual (bertanya pada orang lain), maka dikembangkanlah sebuah sistem untuk mengatasi permasalahan tersebut yang dinamakan sistem rekomendasi. Sistem rekomendasi merupakan sebuah sistem cerdas yang mampu memberikan sejumlah rekomendasi kepada pengguna sistem rekomendasi tersebut. Sistem ini dapat memberikan rekomendasi mengenai suatu hal atau informasi yang bersesuaian dengan keinginan atau kebutuhan pengguna. Sistem tersebut dapat mengenali dan mengetahui karakteristik, selera, atau kebutuhan dari pengguna sistem dan mampu beradaptasi dengan perubahan-perubahan perilaku serta karakteristik pengguna. Sistem rekomendasi mulai banyak dikembangkan untuk berbagai kasus. Hal ini didasari akan kebutuhan sistem rekomendasi yang semakin tinggi dan diharapkan dapat diimplementasikan pada berbagai jenis kasus. Hirarki Sistem Rekomendasi Sistem rekomendasi terbagi menjadi beberapa tipe dan memiliki banyak metode dalam pembangunan dan pengembangannya. Pembagian tipe dan metode sistem rekomendasi dapat dilihat pada gambar 1.1.

Upload: ulil-herdianto

Post on 08-Nov-2015

270 views

Category:

Documents


3 download

TRANSCRIPT

  • PENGANTAR

    Sistem Rekomendasi

    Rekomendasi merupakan salah satu hal yang sangat dibutuhkan oleh banyak orang.

    Kebutuhan akan rekomendasi ini didasari ketidakmampuan seseorang dalam menentukan

    sebuah pilihan. Kesulitan dalam membuat pilihan ini dapat disebabkan oleh beberapa hal.

    Salah satu kesulitan tersebut adalah kurangnya pengetahuan seseorang akan suatu hal,

    sehingga alternatif atau pilihan yang ada hanya sedikit. Selain kurangnya pengetahuan,

    kondisi informasi yang terlampau banyak membuat seseorang akan sulit menentukan pilihan

    yang tepat dari sekian banyak pilihan yang tersedia.

    Dalam kondisi informasi yang semakin banyak dan mudah didapatkan, juga dengan

    kekurangan-kekurangan yang dimiliki oleh proses untuk mendapatkan rekomendasi dengan

    cara manual (bertanya pada orang lain), maka dikembangkanlah sebuah sistem untuk

    mengatasi permasalahan tersebut yang dinamakan sistem rekomendasi. Sistem rekomendasi

    merupakan sebuah sistem cerdas yang mampu memberikan sejumlah rekomendasi kepada

    pengguna sistem rekomendasi tersebut. Sistem ini dapat memberikan rekomendasi mengenai

    suatu hal atau informasi yang bersesuaian dengan keinginan atau kebutuhan pengguna.

    Sistem tersebut dapat mengenali dan mengetahui karakteristik, selera, atau kebutuhan dari

    pengguna sistem dan mampu beradaptasi dengan perubahan-perubahan perilaku serta

    karakteristik pengguna.

    Sistem rekomendasi mulai banyak dikembangkan untuk berbagai kasus. Hal ini didasari

    akan kebutuhan sistem rekomendasi yang semakin tinggi dan diharapkan dapat

    diimplementasikan pada berbagai jenis kasus.

    Hirarki Sistem Rekomendasi

    Sistem rekomendasi terbagi menjadi beberapa tipe dan memiliki banyak metode dalam

    pembangunan dan pengembangannya. Pembagian tipe dan metode sistem rekomendasi dapat

    dilihat pada gambar 1.1.

  • Gambar 1.1 Hirarki sistem rekomendasi

    Tipe sistem rekomendasi serta metode pengembangannya yang beragam membuat sistem

    rekomendasi dapat diimplementasikan pada berbagai jenis kasus. Namun tipe dan metode

    tersebut harus dipilih dan disesuaikan dengan kasus yang dihadapi.

    Non-Personalized Recommender System

    Non-personalized recommender system merupakan jenis sistem rekomendasi yang paling

    dasar dan paling mudah diimplementasikan. Dalam memberikan rekomendasi sistem tidak

    memperhatikan karakteristik, baik pengguna sistem maupun item yang akan

    direkomendasikan. Hal ini membuat hasil rekomendasi yang diberikan tidak spesifik atau

    dikhususkan untuk pengguna tertentu.

    Kelebihan dari jenis ini adalah kemudahan dalam pembangunan sistem serta dapat

    diimplementasikan pada berbagai kasus. Kekurangan utama dari jenis ini adalah

    rekomendasi yang diberikan masih terlalu umum serta tidak mencerminkan karakteristik

    atau kebutuhan pengguna sistem.

    Personalized Recommender System

    Personalized recommender system merupakan jenis sistem rekomendasi yang memberikan

    hasil rekomendasi sesuai dengan karakteristik atau kebutuhan pengguna sistem. Sistem

    terlebih dahulu mempelajari baik karakteristik pengguna maupun item yang akan

  • direkomendasikan. Setelah mengetahui karakteristik pengguna dan item, maka sistem akan

    merekomendasikan item yang sesuai tersebut kepada pengguna.

    Kelebihan jenis sistem rekomendasi ini dibanding non-personalized recommender system

    adalah rekomendasinya tidak bersifat umum, melainkan spesifik untuk setiap pengguna yang

    menggunakan sistem. Kekurangannya dibanding non-personalized recommender system

    hanya pada proses implementasinya yang lebih rumit karena menggunakan metode tertentu

    dan harus disesuaikan dengan kasus yang ditangani.

    Collaborative Filtering

    Collaborative filtering merupakan salah satu metode yang digunakan pada personalized

    recommender system. Metode ini bekerja dengan cara membandingkan dan menghitung

    kemiripan hubungan baik antar sesama pengguna (user-to-user) maupun antar item (item-to-

    item). Ide dasar yang mengawali teknik ini adalah pemikiran bahwa seandainya seorang

    pengguna A menyukai item X dan pengguna A dan pengguna B memiliki karakteristik yang

    sama maka diasumsikan pengguna B akan menyukai item X (user-to-user method).

    Collaborative filtering mempunyai tiga teknik dalam menghasilkan sebuah rekomendasi,

    yaitu Memory-Based CF, Model-Based CF, dan Memory-Model Hybrid CF.

    Memory-based CF merupakan teknik dari collaborative filtering yang bekerja dengan cara

    menghitung similarity atau kemiripan antara user dengan user atau antara item dengan item.

    Memory-based CF secara langsung menghitung similarity tersebut berdasarkan historical

    data yang ada. Hasil perhitungan similarity tersebut yang menjadi dasar bagi sistem untuk

    menentukan karakteristik user sehingga sistem dapat memberikan rekomendasi yang

    bersesuaian dengan karakteristik user tersebut. Kelebihan teknik ini adalah adaptasi

    terhadap historical data yang baru ditambahkan. Data baru tersebut dapat langsung

    diikutsertakan dalam perhitungan dalam menghasilkan rekomendasi. Selain itu teknik ini

    mudah untuk diimplementasikan. Kekurangan teknik ini adalah waktu yang dibutuhkan

    untuk menghasilkan rekomendasi cukup lama. Hal ini disebabkan perhitungan melibatkan

    seluruh historical data yang ada. Selain itu data sparsity problem merupakan masalah utama

    dari memory-based CF.

  • Berikut ini adalah langkah-langkah umum dari teknik memory based collaborative filtering

    :

    1. User Similarity Measurement

    Pada tahapan ini, sistem akan menghitung kemiripan seorang pengguna yang akan diberikan

    rekomendasi (active user) dengan seluruh pengguna lain yang terdapat pada sistem. Dalam

    menghitung kemiripan pengguna, sistem menggunakan data-data rating yang diberikan oleh

    pengguna terhadap sejumlah image. Rumus yang digunakan untuk menghitung kemiripan

    pengguna adalah Pearsons Correlation Coefficient (PCC)

    , ,

    2 2

    , ,

    ( )( )

    ( , )

    ( ) ( )

    a f a b f b

    f items

    a f a b f b

    f items f items

    N N N N

    r a b

    N N N N

    Keterangan :

    Na, f = nilai yang diberikan user a terhadap item f

    Na = nilai rata-rata yang diberikan user a terhadap seluruh item f

    Items = populasi item yang dinilai oleh user a dan user b (beririsan)

    Nilai yang dihasilkan akan memiliki rentang antara -1 sampai 1. Semakin mendekati 1 maka

    hubungan antara kedua pengguna adalah semakin mirip. Sebaliknya semakin mendekati -1

    maka karakteristik dan minat kedua pengguna semakin berlawanan. Namun semakin

    mendekati 0, maka kedua pengguna dapat dikatakan tidak memiliki hubungan atau korelasi.

    2. Neighborhood Selection

    Tahapan kedua adalah dengan memisahkan antara pengguna-pengguna yang memiliki

    kemiripan dengan active user dengan yang tidak memiliki kemiripan. Pemisahan dan

    pengelompokan user ini dapat dilakukan dengan beberapa teknik antara lain K-Means,

    penentuan batas minimal nilai kemiripan dan lain-lain.

    .....(1)

  • 3. Prediction Generation

    Setelah menentukan pengguna-pengguna yang tergabung pada neighborhood, maka langkah

    terakhir adalah dengan memprediksikan rating yang akan diberikan oleh active user tersebut

    terhadap sejumlah image tertentu. Perhitungan menggunakan Resnicks algorithm.

    , ,

    ,

    ,

    ( )( )

    | |

    a x x i x

    x Na i a

    a x

    x N

    w r r

    P rw

    Keterangan :

    Pai = Prediksi nilai untuk active user a terhadap item i

    Wa,x = Nilai kemiripan antara active user a dengan pengguna x

    rx,i = Nilai yang diberikan pengguna x terhadap item i

    ra = Nilai rata-rata yang diberikan oleh active user a

    rx = Nilai rata-rata yang diberikan oleh user x

    N = Jumlah pengguna yang tergabung didalam neighborhood yang me-

    rating item i.

    model-based CF merupakan teknik lain dari collaborative filtering. Teknik ini bekerja

    dengan cara menggunakan sejumlah historical data sebagai training set data yang akan

    dipelajari oleh sistem untuk membangun sebuah model. Model tersebut akan

    mendeskripsikan karakteristik tertentu sehingga membuat sistem rekomendasi mampu

    memprediksikan rekomendasi yang sesuai dengan karakteristik pengguna yang tergabung

    pada model tertentu. Kelebihan model-based dibandingkan dengan memory-based adalah

    waktu yang dibutuhkan untuk menghasilkan rekomendasi lebih singkat serta menanggulangi

    data sparsity lebih baik. Kecepatan dan penanganan data sparsity yang lebih baik dapat

    dicapai karena model-based CF menggunakan model dalam menentukan sebuah

    karakteristik, bukan keseluruhan data seperti pada memory-based CF. Namun

    kekurangannya adalah biaya dan tingkat kerumitan menjadi tinggi saat proses pembangunan

    model. Selain itu terkadang beberapa informasi penting dapat hilang serta beberapa model

    yang dihasilkan tidak mendeskripsikan karakteristik tertentu. Beberapa algoritma yang

    digunakan dalam pembangunan model dalam metode model-based collaborative filtering

    antara lain bayesian networks, clustering models, latent semantic models.

    .....(2)

  • Memory-model hybrid CF merupakan gabungan dari dua teknik yang telah dijelaskan

    sebelumnya. Penggabungan teknik ini dilakukan dengan tujuan untuk menutupi kekurangan

    dari masing teknik. Namun teknik hybrid ini akan menambah kerumitan dan kompleksitas

    sistem rekomendasi itu sendiri.

    Social Tagging Systems

    Tagging telah dipakai cukup lama, meskipun dikenal dengan istilah lain seperti metadata,

    kategorisasi, label, dan sebagainya. Tagging adalah proses melampirkan kata-kata natural

    language sebagai metadata untuk menggambarkan beberapa resource seperti image, foto,

    buku, dll. Dalam penelitian ini, kata resource akan sering penulis gunakan. Resource yang

    dimaksud oleh penulis disini adalah image. Kosakata Tagging biasanya tidak terkontrol,

    dimana pengguna sendiri dapat memutuskan apa kata atau kombinasi kata-kata yang tepat.

    Penggunaan utama tagging adalah untuk tujuan search, dimana pengguna dapat mencari tag

    dan resource dengan tag dilabeli akan kembali ke pengguna. Pengguna yang menambahkan

    tag dapat menggunakan tag untuk retriaval nantinya. Bagi pengguna lain, tag berfungsi

    sebagai cara untuk menemukan resource baru dengan mencari apapun tag mereka inginkan.

    Dalam beberapa tahun terakhir, munculnya Social Tagging Systems telah membawa tagging

    kembali menjadi pusat perhatian. Saat ini, ada beberapa social tagging system online yang

    populer dan merupakan subjek penelitian yang berkelanjutan, sistem ini berkisar dari

    bookmark website seperti del.icio.us, berbagi foto , pencarian makalah penelitian , bahkan

    people rating. Semua situs-situs tersebut menggunakan tagging untuk berbagai tujuan, tetapi

    di samping itu, mereka fokus pada aspek tagging social networking untuk meningkatkan

    pengalaman bagi pengguna akhir. Namun, dalam bentuknya yang sekarang, tag biasanya

    digunakan untuk tag searching, pencocokan profil pengguna. Seperti disebutkan

    sebelumnya, tag memberikan petunjuk mengapa pengguna menyukai sesuatu. Karena itu,

    penggunaan serupa pada jejaring sosial, social tagging system memberikan pilihan ideal

    untuk kombinasi dengan sistem CF.

    TagBased Contextual Collaborative Filtering

    Tag-Based Contextual Collaborative Filtering (TCCF) yang selanjutnya akan sering penulis

    singkat dengan Tag-Based CCF adalah kombinasi dari sistem Collaborative Filtering

    tradisional dan Social Tagging System yang memungkinkan untuk rekomendasi resource

  • dengan akurat yang mempertimbangkan konteks preferensi. Suatu contoh sistem

    ditunjukkan pada gambar 1.1. Dalam kasus ini, pengguna melampirkan tag ke resource yang

    mereka suka dan ingin diakses kembali nantinya. Resource mungkin apapun termasuk

    musik, video, dan lain-lain. Tetapi pada penelitian ini, resource yang penulis maksud adalah

    image.

    1.1 Contextual CF Model

    Suatu contoh sistem yang akan menggunakan model TCCF akan mengikuti proses berikut:

    Pengguna mengevaluasi sebuah resource seperti website, image.

    Jika pengguna menyukai resource tersebut, mereka akan bookmark dengan tag yang

    mereka inginkan. Tag ini menyatakan apa makna resource tersebut kepada mereka.

    Sistem mengkalkulasi kesamaan antar pengguna berdasarkan bookmark dan tag

    tersebut.

    Kemudian, sistem mengkalkulasi prediksi skor untuk unrated recource tersebut

    berdasarkan kesamaan pengguna yang dikalkulasi di langkah sebelumnya dan

    bookmark pengguna lainnya.

    Sistem merekomendasikan resource baru kepada pengguna berdasarkan langkah 3 dan

    4.

    Tidak seperti model tradisional Collaborative Filtering yang menggunakan rating numerik,

    model ini menggunakan tag-based TCCF sebagai indikator bahwa seorang pengguna

    menyukai sesuatu: jika pengguna bookmark sesuatu, sistem melihatnya sebagai sesuatu yang

  • pengguna suka. Dengan demikian, dalam pengertian ini, itu adalah model CF yang sederhana

    karena menggunakan rating boolean sebagai lawan skala numerik seperti dalam sistem CF

    kebanyakan. Skala dimaksudkan akan dari nol sampai satu. Bookmark akan di rating tinggi

    atau satu, dan tidak adanya bookmark akan dianalogikan dengan rating non-atau nol.

    Namun, tag juga menyediakan faktor pembeda utama dari CF traditional system tag yang

    melekat pada resource yang dapat dilihat sebagai konteks di mana pengguna menyukai

    resource tersebut. Biasanya pengguna akan menggunakan tag untuk menggambarkan

    resource sebagai tag mereka sendiri, dan dalam kebanyakan kasus, itu akan menjadi

    'konteks'. Dari asumsi ini, kita membuat penggabungan menggunakan konteks ini untuk

    memodifikasi model CF.

    Karena itu, kini diperkenalkan dua submodel di mana model CF tradisional dimodifikasi

    berdasarkan user similarity dan resource recommendation stage.

  • Contextual CF User Simalirity Model:

    1.3 Contextual CF User Simalirity Model

    Model ini berfokus pada pertimbangan konteks saat menghitung kesamaan antara user dan

    user lainnya. Dalam CF tradisional, peringkat kesamaan didasarkan pada peringkat numerik

    seperti ditunjukkan pada tabel berikut:

    1 2 3 4

    A 1 - - -

    B 1 1 1 -

    C - - 1 -

    D - - 1 1

    Tabel 1.1 Rating CF Tradisional

    dimana A, B, C, D adalah user dan 1-4 adalah resource. Untuk mudahnya ketika

    membandingkan ini dengan model baru , satu sesuai dengan rating tinggi dan peringkat

    negatif atau rendah telah dihilangkan. Selain itu, non-rating dilambangkan oleh '-'. User

    similarity adalah kosinus similarity vektor dari rating score user untuk setiap resource :

    A B C D

    A - 0.58 - -

    B 0.58 - 0.58 0.41

    C 0 0.58 - 0.71

    D - 0.41 0.71 -

    Tabel 1.2 CF User Similarity Score Tradisional

  • Jika user memiliki rating cukup mirip atas resource yang sama, sistem akan memberikan

    mereka high similarity rating. Jika user memiliki rating yang berbeda, atau tidak menilai

    resource yang sama, sistem tidak memberikan high similarity rating. Namun, hanya

    menggunakan angka tidak dapat memberitahu, seperti mengapa user menyukai sesuatu, atau

    dengan kata lain, dalam konteks apa resource disukai. Tag, bagaimanapun, memberikan

    wawasan lebih tentang mengapa user mungkin menyukainya.

    Pertimbangkan dua user men-tag sebuah blog tentang politik. Salah satu user yang memiliki

    pandangan yang sejalan dengan blog mungkin menandai resource 'informatif' atau

    'berwawasan', namun, user lain yang memiliki pandangan tidak setuju mungkin menandai

    blog sebagai 'lucu' atau 'hiburan'. Seperti yang bisa dilihat di sini, user dapat mengikuti blog

    yang sama, tetapi mengikutinya untuk alasan yang berbeda.

    Dengan demikian, model pertama memodifikasi perhitungan user similarity. Pengguna

    kesamaan antara user A dan user B dihitung dengan menggunakan persamaan berikut:

    (, ) =

    {(, ) + }

    = ----- 5

    dimana n adalah jumlah resource yang ditandai antara user A dan B. Umumnya tag berarti

    baik pengguna bookmark resource yang sama, mungkin dengan berbeda vektor tag. Jadi:

    (, ) = .

    |||| -------6

    dimana adalah tag vektor bahwa user A men-tag resource k dan adalah tag

    vektor bahwa user B men-tag resource k. Kesamaan dari dua vektor tag tersebut dihitung

    melalui cosine similarity.

    Pada dasarnya, dalam model user similarity, cosine similarity vektor tag dari semua

    resource yang ditag antara user A dan user B dirata-ratakan. Selain itu, satu akan

    ditambahkan ke nilai cosine similarity untuk memberikan nilai ke resource yang ditag.

  • Terlepas dari ketidakcocokan tag set, resource paling umum umum ditandai lebih berharga

    daripada tidak ada sama sekali.

    Sebagai contoh, untuk sistem yang ditunjukkan pada gambar 1.3, kita dapat menghitung

    similarity user B dan C. Karena user B dan user C hanya memiliki satu tag link-resource

    yaitu nomor 3 , jadi n = 1 dan similarity score mereka didasarkan sepenuhnya pada resource

    3 ini.

    Vektor tag user B dan C di resource 3 akan menjadi:

    bush tax reform

    1 1 1

    1 1 0

    Tabel 1.3 User Similarity user B dan C

    Cosine Similarity antar 2 vektor tag adalah 0.5 sehingga (, ) = 0.75. Hasil dari

    user similarity dari semua sistem pada gambar 1.3 adalah :

    A B C D

    A - 0.75 0 0

    B 0.75 - 0.91 0.5

    C 0 0.91 - 0.5

    D 0 0.5 0.5 -

    Tabel 1.4 Contextual CF User Similarity Score

    Dengan model user similarity baru, konteks dipertimbangkan ketika menghitung user

    similarity. User yang memiliki bookmark resource yang sama masih dianggap similiar,

    namun similarity lebih tinggi jika menggunakan tag untuk menggambarkan resource

    tersebut juga sama. Dengan demikian, Kecocokan konteks didorong lebih tinggi daripada

    ketika konteks tidak cocok.

    Namun, kelemahan dari model ini masih ada. Dalam sistem ini, hanya ada pilihan untuk

    bookmark atau tidak. Dengan demikian, sebagian besar user hanya akan bookmark resource

    jika dan hanya jika mereka menyukai resource tersebut. Namun, kurangnya bookmark tidak

    selalu berarti tidak suka, tetapi mungkin saja mereka tidak evaluasi resource tersebut.

    Mengingat hal ini, model ini hanya tergantung pada resource yang umumnya ditag, ini dapat

  • menjadi masalah ketika link ditag sedikit. Masalah ini umum untuk sistem berbasis CF lain

    juga.

    Selain itu, ada isu-isu natural language yang ada pada situs tagging. Isu seperti sinonim dan

    polisemi mungkin harus diperhitungkan dan dalam hal bahwa metode untuk

    menghubungkan kata-kata yang secara semantik terkait harus dipertimbangkan ketika

    menerapkan model ini. Selain itu, ada masalah apakah user yang berbeda akan menggunakan

    tag yang sama tujuan kategorisasi, penamaan, dll dan apakah tujuan tersebut akan cocok

    antara user.

    Contextual CF Score Prediction Model

    1.4 Contextual CF Score Prediction Model

    Model ini memodifikasi perhitungan score prediction. Dalam CF tradisional, setelah user

    similarity telah dihitung, score prediction untuk beberapa user A untuk resource x yang tidak

    dievaluasi dihitung sebagai berikut:

    (, ) = {(,)(,)}

    =

    (,)=

    ------- 7

  • dimana n adalah jumlah user lain. Pada dasarnya, nilai semua user lain, ditukur oleh

    similarity mereka, di rata-ratakan untuk memprediksi skor A untuk x.

    Misalnya, untuk peringkat data yang diberikan dalam tabel 1.1, menghitung score prediksi

    user B untuk resource 4 akan menjadi 0,26. Sisa prediksi akan seperti yang ditunjukkan

    dalam tabel 1.5.

    1 2 3 4

    A - 1.0 1.0 0.0

    B - - - 0.26

    C 0.45 0.45 - 0.55

    D 0.37 0.37 - -

    Tabel 1.5 CF Score Prediction Tradisional

    CF tradisional bekerja dengan baik ketika merekomendasikan resource dalam domain yang

    sama seperti hanya dalam image komedi atau hanya video sepak bola. Namun, dalam kasus

    bookmark website dan internet, banyak domain dan banyak konteks dilingkupi. Ketika user

    mungkin memiliki preferensi yang sama untuk satu konteks, preferensi mungkin tidak

    terbawa ke yang lain: Sebagai contoh, meskipun dua user mungkin suka membaca buku

    Harry Potter, ini tidak berarti bahwa jika salah satu sepak bola suka, user lain akan juga.

    Context Filtering diperlukan untuk menghasilkan rekomendasi yang lebih akurat.

    Dengan demikian, model ini berfokus pada mempertimbangkan konteks ketika memprediksi

    score untuk seorang user. Ini terjadi setelah user similarity telah dihitung. Setelah ini

    dilakukan, prediksi score resource dilakukan. Alih-alih memprediksi skor untuk sumber

    daya hanya berdasarkan score rata-rata seperti yang ditunjukkan dalam persamaan 7, model

    ini mempertimbangkan jika konteks resource serupa. Dengan demikian, Contextual CF

    Score Prediction resource x untuk user A seperti yang ditunjukkan dalam persamaan 8.

  • (, ) =

    {(,)((( ,), ,( ,))+)}

    =

    (,)=

    ---

    8

    Dalam persamaan ini, adalah user di set dari semua user dengan score similarity dengan

    user A di atas similarity threshold tertentu dan n adalah jumlah user di set ini.

    Juga di (( , ), , ( , )) , m adalah jumlah resource

    yang di tag umumnya yang user punya dengan user A. Bagian ini mengembalikan tag

    vektor dari resource umum yang ditag yang memiliki similarity tertinggi dengan tag vektor

    resource target . Hal ini dilakukan dalam rangka untuk hanya menggunakan konteks

    yang paling tepat (tag vector similarity tertinggi) untuk score prediction.

    Jelasnya, jika user tidak memiliki resource yang biasanya ditag dengan user A, score

    maks akan menjadi nol. Sebuah nilai satu ditambahkan ke max untuk memberikan nilai

    terhadap keberadaan resource yang ditag, terlepas dari similarity tag vektor. Terakhir,

    similarity tag vektor dihitung seperti yang ditunjukkan dalam persamaan 6.

    Secara keseluruhan, model baru ini ditunjukkan dalam fungsi persamaan 8 yang sama

    dengan tradisional CF score prediction model yang ditunjukkan dalam persamaan 7, kecuali

    bahwa kesamaan vektor tag dirata-ratakan sebagai gantinya.

    Dalam kasus gambar 1.4, kita ingin memprediksi score user C untuk resource 2, resource di

    mana ia belum ditag. Menggunakan nilai CCF user similarity score ditunjukkan dalam tabel

    1.4, user B memiliki similatiry yang tinggi dengan user C. Untuk user B, hanya resource 3

    ditandai sama dengan user C. Dengan demikian, vektor tag user B yang melekat resource

    2 dan 3 adalah sebagai berikut:

    bush tax reform irag

    1 1 1 0

    1 0 0 1

  • Oleh karena itu (,) = 0,41. Jika user B punya resource yang ditag lebih

    banyak dengan user C, similarity pada tag vector , dan juga akan dihitung dan

    similarity tertinggi yang digunakan dalam perhitungan score.

    Mengingat similarity user B ke C adalah 0,91, prediction score akhir adalah: score(C, 2) =

    0,71. Sebaliknya, katakanlah kita ingin memprediksi score user C untuk resource 1. Karena

    similarity user B untuk user C tinggi, tag set benar-benar berbeda dari tag set

    resource yang ditag B , yang berarti bahwa konteks preferensi berbeda, dan akibatnya, score

    prediction akan lebih rendah: score (C, 1) = 0,5. Resource 2 akan direkomendasikan atas

    resource 1. Sebelumnya, resource 1 dan resource 2 memiliki score yang sama seperti yang

    ditunjukkan dalam tabel 1.5. Menggunakan model ini, jika tag resource target yang sesuai

    dengan tag yang digunakan pada resource yang ditandai, maka nilai yang lebih tinggi. Jika

    tidak, skor akan lebih rendah.

    Melalui ini, konteks akan dipertimbangkan ketika membuat score prediction. Sistem seperti

    ini akan lebih berhasil pada rekomendasi domain yang lebih besar. Hal ini akan berlaku baik

    ke situs bookmark situs seperti del.icio.us dan sebagainya. Manfaat lain adalah bahwa tidak

    seperti perhitungan CCF user similarity, model ini tidak berpengaruh banyak dari masalah

    natural language. Karena pencocokan tag dilakukan hanya dalam ruang tag seorang user

    tunggal, lebih mungkin bahwa seorang user akan menggunakan tag yang sama ketika

    menggambarkan resource lain. Selain itu, mereka kemungkinan besar akan menggunakan

    struktur organisasi tag yang sama. Oleh karena itu, tidak perlu menggunakan pencocokan

    semantik antara kata-kata.

    Sebagai rekomendasi, hal tersebut tergantung pada tag yang cocok, jika tidak ada

    penggunaan kembali tag untuk user, sistem mungkin memiliki masalah menghasilkan

    rekomendasi. Dalam kasus ini, threshold batas untuk rekomendasi itu harus diubah.

    Permasalahan Umum Sistem Rekomendasi

    Sistem rekomendasi memiliki beberapa kondisi yang akan menimbulkan masalah bagi

    sistem dalam memberikan rekomendasi. Berikut beberapa permasalahan umum yang sering

    dihadapi oleh sistem rekomendasi.

  • 1. Cold Start

    Cold start merupakan kondisi suatu obyek pada sistem rekomendasi dimana informasi

    tentang obyek tersebut kurang memadai atau mencukupi. Kurangnya informasi tersebut

    mengakibatkan menurunnya performa dari sebuah sistem rekomendasi. Cold strart dapat

    terjadi pada baik pada item maupun pada user. User cold start merupakan kondisi yang

    sering dijumpai pada sistem rekomendasi. Keadaan ini pada umumnya terjadi ketika seorang

    user baru ditambahkan. User tersebut belum memiliki cukup historical data (seperti data

    rating) sehingga sistem belum mengetahui karakteristik user tersebut dan berakibat pada

    sulitnya memberikan rekomendasi yang tepat. Item cold start pada umumnya terjadi saat

    terdapat item yang baru ditambahkan. Item tersebut belum memiliki historical data (seperti

    pembelian atau rating) sehingga sistem belum mengetahui karakteristik item tersebut dan

    pada akhirnya sistem sulit untuk merekomendasikan item baru tersebut kepada pengguna.

    Namun beberapa metode sistem rekomendasi tidak bermasalah dengan item cold start.

    Metode content-based dapat mengatasi masalah ini karena melalui deskripsi item tersebut,

    maka karakteristik item baru tersebut dapat diketahui dan dapat langsung direkomendasikan.

    2. Data Sparsity

    Data sparsity merupakan kondisi dimana historical data yang dimiliki sistem masih sedikit

    atau jika data-data tersebut dimodelkan menjadi sebuah matriks maka matriks tersebut masih

    sangat renggang. Data sparsity merupakan permasalahan besar bagi performa sistem

    rekomendasi. Kondisi historical data yang renggang akan menyulitkan sistem dalam

    membangun karakteristik atau ciri dari user maupun item, sehingga dapat dipastikan

    rekomendasi yang diberikan memiliki tingkat akurasi yang rendah.

    3. Overspecialization

    Overspecialization merupakan kondisi, dimana hasil rekomendasi dihasilkan yang hanya

    terbatas pada suatu kriteria atau hanya terbatas pada item yang telah telah diketahui

    sebelumnya. Kondisi ini membuat item yang baru ditambahkan akan sulit untuk

    direkomendasikan. Permasalahan tidak hanya pada item yang baru namun juga pada item

    yang memilki karakteristik. Overspecialization membuat hasil rekomendasi hanya terbatas

    pada kategori tertentu (sering terjadi pada metode content-based).

    4. Scalability

  • Scalability merupakan salah satu permasalahan yang perlu diperhatikan dalam membangun

    sebuah sistem rekomendasi. Sebuah sistem rekomendasi yang memiliki jumlah data besar

    baik user, item maupun historical data (seperti sistem rekomendasi image) sering

    menjumpai masalah skalabilitas. Permasalahan yang sering dijumpai adalah waktu untuk

    menghasilkan rekomendasi. Ukuran data yang besar ditambah dengan pemilihan metode

    yang kurang tepat akan berakibat pada lamanya waktu yang dibutuhkan untuk memberikan

    rekomendasi kepada penggguna. Maka dari itu harus dipilih metode yang tepat dan sesuai

    dengan kasus sistem rekomendasi agar terhindar dari scalability problem.

  • ANALISIS DAN PERANCANGAN SISTEM

    Karakteristik dan Metode Sistem Rekomendasi Image

    Pemilihan metode yang akan digunakan dalam membangun sebuah sistem rekomendasi

    image akan dipengaruhi oleh karakteristik yang terdapat pada sebuah image serta

    karakteristik dari sistem rekomendasi yang akan dibangun. Secara umum karakteristik

    image dan sistem rekomendasi image adalah sebagai berikut :

    1. Sebuah image memiliki sejumlah informasi dasar mengenai image tersebut. informasi

    tersebut antara lain nama file Image, Genre, Form, Camera and photography

    equipment, Photographic processing, Photographic techniques, General photography

    concepts dan lain-lain.

    2. Pengguna sistem rekomendasi memiliki sejumlah informasi pribadi. Informasi tersebut

    antara lain nama, jenis kelamin, umur, pekerjaan, pendidikan, asal negara dan lain-lain.

    3. Skalabilitas data sangat besar baik data image, data pengguna, maupun historical data

    seperti data rating pengguna terhadap image.

    4. Frekuensi penambahan dan perubahan data sangat tinggi. Image baru dan user baru

    yang ditambahkan pada sistem sangat sering terjadi. Hal tersebut juga mendorong

    tingginya frekuensi penambahan data rating yang diberikan oleh user.

    5. User dan image baru pada umumnya belum cukup memiliki data rating yang berguna

    untuk menarik informasi karakteristik dari user dan image tersebut.

    6. Secara umum user tidak suka untuk memberikan informasi pribadi yang dimilikinya

    kepada sistem.

    Berdasarkan metode-metode sistem rekomendasi yang telah dijelaskan pada bagian

    sebelumnya serta karakteristik dari sebuah sistem rekomendasi image yang telah dijabarkan

    diatas, maka metode sistem rekomendasi yang dipilih penulis adalah metode tag-based

    contextual collaborative filtering.

    Alasan pertama dalam pemilihan metode-metode tersebut didasari pada salah satu kelebihan

    dari metode collaborative filtering yaitu kemampuannya dalam beradaptasi dengan kasus

    yang memiliki tingkat frekuensi perubahan data yang tinggi. Kasus rekomendasi image

    merupakan salah satu kasus yang memiliki frekuensi perubahan data yang tinggi. Alasan

    kedua adalah metode collaborative filtering (user-to-user) memiliki kesamaan cara kerja

    dengan cara rekomendasi manual yang sering dilakukan seseorang, yaitu dengan

    menemukan orang lain yang memiliki kemiripan karakteristik dan selera kemudian

  • mendapatkan rekomendasi image dari orang tersebut. Sedangkan tujuan awal digunakannya

    metode content based filtering adalah untuk menutupi kekurangan metode collaborative

    filtering dalam menangani item cold start problem (item atau image yang belum cukup

    memiliki data rating). Dengan cara kerjanya yang membandingkan deskripsi dari atribut-

    atribut image, maka content based filtering dapat langsung merekomendasikan beberapa

    image yang baru ditambahkan kedalam sistem, dengan catatan image lain yang memiliki

    nilai atribut yang sama sudah sering di-rating dengan nilai baik oleh user sistem. Sedangkan

    penggunaan tag-based adalah, karena bisa saja pengguna tidak menyukai image yang sama,

    tetapi karena alasan yang berbeda. Sehingga diperlukan tag-based, agar hasil dari filtering

    dapat lebih baik.

    Sistem Rekomendasi Image menggunakan Tag-based Contextual Collaborative

    Modelling

    Pada sub bab ini, dijelaskan penerapan metode traditional CF dan tag-based CCF. Langkah-

    langkah untuk mendapatkan score prediction seorang user akan diterangkan secara detail.

    Setelah itu, kedua metode tersebut akan dibandingkan untuk menunjukkan bahwa tag-based

    CCF dapat dengan baik menangani rekomendasi image.

  • Sistem Rekomendasi Image dengan Traditional Collaborative filtering

    Pengertian umum

    Pada bagian sebelumnya telah dijelaskan mengenai cara kerja metode traditional

    collaborative filtering secara umum serta alasan dipilihnya metode collaborative filtering

    pada pembangunan sistem rekomendasi image ini. Berdasarkan cara kerja dan alasan

    tersebut, penulis memfokuskan untuk menggunakan teknik memory based pada metode

    collaborative filtering yang telah dipilih sebelumnya. Memory based dipilih karena

    kemampuan adaptasinya terhadap penambahan data baru dengan tingkat frekuensi tinggi.

    Kekurangan teknik memory based dalam hal kebutuhan waktu dan kebutuhan memory

    komputer yang besar dalam komputasi dapat dioptimasi dengan menggunakan teknik pre-

    computation serta neighborhood sampling and selection. Selanjutnya penulis akan

    menggunakan Traditional CF untuk menuliskan Traditional Collaborative filtering.

    Alur kerja

    Secara umum, metode memory based CF memiliki beberapa langkah dalam menghasilkan

    sebuah rekomendasi. Langkah-langkah tersebut antara lain user similarity measurement,

    neighborhood selection, dan prediction generation.

    Agar lebih mudah dipahami, maka gambar 3.1 akan memberi gambaran tentang langkah-

    langkah dalam menghasilkan rekomendasi image dengan metode traditional CF.

  • Gambar 3.1 Flowhchart Rekomendasi sistem menggunakan Traditional CF

    Berikut adalah penjelasan dari setiap langkah-langkah pada gambar 3.1.

    1. Check Neighborhood Model Dari User

    Langkah pertama adalah dengan melakukan pengecekan terhadap informasi dari active user.

    Harus diketahui apakah active user tersebut telah memiliki neighborhood model atau belum.

    Hasil pengecekan akan menentukan proses selanjutnya yang akan dilalui.

    2. Check Perubahan Rating User

    Jika active user diketahui telah memiliki neighborhood model, maka selanjutnya akan

    diperiksa apakah active user tersebut telah melakukan perubahan rating data yang dimiliki

    sebelumnya. Jika perubahan rating data telah melebihi batas minimal untuk melakukan

    update terhadap rekomendasi, maka langkah berikutnya akan dilanjutkan kepada proses

    update rekomendasi.

  • 3. Hitung User Similarity

    Pada proses ini, sistem akan menghitung kemiripan seorang pengguna yang akan diberikan

    rekomendasi (active user) dengan seluruh pengguna lain yang terdapat pada sistem. Dalam

    menghitung kemiripan user, sistem menggunakan data-data rating yang diberikan oleh

    pengguna terhadap sejumlah image. Rumus yang digunakan untuk menghitung kemiripan

    pengguna adalah menggunakan Cosine Similarity.

    4. Ciptakan Neighborhood Model User

    Proses selanjutnya adalah dengan mengelompokkan user sistem menjadi dua kelompok.

    Kelompok pertama adalah user yang memiliki kemiripan dengan active user, sedangkan

    kelompok kedua adalah yang tidak memiliki kemiripan dengan active user. Secara umum

    untuk memisahkan kelompok user adalah dengan menentukan batas minimal nilai kemiripan

    bagi pengguna yang tergabung dalam neighborhood dari active user. Pada pembuatan sistem

    rekomendasi film ini, batas awal yang digunakan adalah similarity yang bernilai positif.

    Selanjutnya akan ditentukan jumlah maksimal neighborhood user dari seorang active user.

    Proses tersebut dilakukan agar neighborhood user yang dihasilkan tidak telalu banyak

    sehingga membuat proses selanjutnya tidak membutuhkan waktu dan memory yang

    berlebihan. Setelah menyelesaikan tahapan ini, maka akan dihasilkan sebuah model user

    yang disebut neighborhood model. Neighborhood model merupakan daftar neighbor dari

    seorang user. Model akan menyimpan daftar user-user lain yang merupakan neighbor dari

    user tersebut yang dihasilkan dari proses user similarity measurement dan neighborhood

    selection.

    5. Ciptakan User Prediction

    Setelah mendapatkan user-user yang tergabung pada neighborhood, maka langkah terakhir

    adalah dengan memprediksikan rating yang akan diberikan oleh active user tersebut

    terhadap sejumlah image tertentu. Rumus yang akan kita gunakan adalah :

    (, ) = {(, ) (, )}

    =

    (, )=

    Setalah mendapatkan hasil score user A untuk semua resource yang belum di evaluasi oleh

    user A, maka kita akan memilih score tertinggi yang akan digunakan untuk menciptakan

    rekomendasi bagi user A tersebut.

  • 6. Ciptakan Rekomendasi

    Setalah mendapatkan user prediction, maka sistem akan menciptakan rekomendasi image

    kepada seseorang. Image yang akan di rekomendasikan akan dibatasi jumlahnya. Dalam hal

    ini, jumlah image makasismu yang akan di rekomendasi kan berjumlah 10 buah image.

    Penggunaan Tag-based Contextual

    Pada bagian ini, akan diterangkan penggunaan tag-based untuk memperbaiki traditional CF

    diatas. Tag-based yang digunakan seorang active user, akan digunakan untuk mendapatkan

    rekomendasi yang lebih baik.

    Representasi Data

    Data - data yang akan diolah pada metode Tag-based CCD di representasikan sebagai

    matriks. Beberapa matriks yang akan mempresentasikan data pada metode ini adalah :

    - Matriks dua dimensi untuk mempresentasikan hubungan antara semua user dan

    resource yang ada.

    Resources 1 2 n

    U A 1 0 1

    s B 1 1 0

    e C 0 1 0

    r . .

    s m 1 0 1

    Gambar 3.2 Matriks user terhadap resource

    - Matriks dua dimensi kedua adalah matriks m n untuk melihat keterhubungan antara

    user satu sama lain (user smiliraty). Matriks ini akan digunakan untuk mendapatkan

    neigborhood model dari active user. Matriks tersebut dapat kita lihat seperti gambar

    dibawah ini :

  • Users A B n

    U A - 0.5 1

    s B 0.1 - 0

    e C 0 1 0

    r . .

    s n 1.42 0 -

    Gambar 3.3 Matriks user similarity semua user

    - Matriks dua dimensi dimana untuk tag vector seorang active user dengan user lain.

    Tagging active user dan user lain pada res x

    a b n

    Tag

    1 0.5 1

    Vector 0.1 0.9 0

    Gambar 3.4 Matriks tagging active seorang active user dan user lain

    - Matriks satu dimensi contextual user similarity seorang active user. Matriks ini

    didapatkan dari matriks m n dari semua hubungan antar user satu sama lain diatas.

    Users A B n

    A - 0.5 1

    Gambar 3.5 Matrik contextual user similarity active user

    - Matriks dua dimensi tag vector seorang user yang memiliki user similarity terbesar

    terhadap seorang active user.

    Tagging bersama active user dan user lain

    a b n

    Tag

    1 0.5 1

    Vector 0.1 0.9 0

    1

    2

  • Gambar 3.6 Matriks tagging active user dan user laing

    - Matriks satu dimensi score prediction active user terhadap resource yang ditag user

    lain yang memiliki user similarity tertinggi dengan active user.

    Resource yang di tag user lain yang memiliki

    user similarity terbesar terhadap active user

    a b n

    Active User

    0.4 0.5 0.2

    Gambar 3.7 Matriks score prediction active user

    2.1.1 Alur Kerja

    Langkah-langkah yang digunakan pada tag-based contextual collaborative filtering yang

    selanjutnya akan penulis sebut sebagai tag-based CCF dapat kita lihat pada gambar 3.8

    dibawah ini.

    Gambar 3.8 Flow Chart Tag-based Contextual Collaborative filtering

    Pada tag-based CCF ini, pada dasarnya mempunyai kemiripan seperti pada traditional CF.

    Beberapa perbedaan yang ada adalah :

  • 1. Ciptakan Tag-based Vector User dan Resource

    Setelah menciptakan Neighborhood User Model, langkah yang selanjutnya tidak langsung

    user prediction, namun terlebih dahulu menciptakan tag-based vector user yang mempunyai

    similarity dengan user yang akan di prediksi dan resource yang akan di prediksi. Setalah kita

    mendapatkan tag-based vector-nya, langkah selanjutnya adalah mendapatkan cosine

    similarity dari tag-based vector tersebut dengan menggunakan rumus :

    Keterangan :

    , : nilai matriks ke i dari matriks user A dan B

    Cos() : cosine similarity

    i : indeks matriks user

    n : panjang matriks pada user A atau B

    2. Ciptakan User Prediction.

    Pada langkah ini, kita tidak lagi menggunakan score prediction yang traditional. Tetapi kita

    akan menggunakan rumus yang telah dirubah seperti dibawah ini :

    (, )

    =

    {(, ) ( (( , ), , ( , )) + )}=

    (, )=

    (, ) : score prediction user A terhadap resource x

    (, ) : cosine similarity user A terhadap user

    ( , ) : cosine similarity tag vector user terhadap resource m dan

    resource x

    k : indeks neighbor model user dari user A

    n : jumlah user pada neihbourhood model user A

  • Berbeda dengan traditional CF, disini untuk mendapatkan score prediction seorang active

    user, kita telah memperhitungkan tag-based contextual yang digunakan.

    Penerapan metode dan algoritma

    Sebagai contoh kasus, diketahui rating data user sistem terhadap image beserta tag-based

    yang diberikan oleh user sebagai berikut :

    Gambar 3.9 Model User dan Image besera tag-based

    Fakta yang didapatkan pada contoh kasus diatas :

    User

    Resource Image

    user memiliki resource

    user menyukai resource user lain

    xxx user memiliki resource dan memberi tagging

    xxx user menyukai resource user lain dan memberi tagging

    Keterangan gambar

  • 1. User B memiliki satu resource dan menyukai resource 1 kepunyaan user A dan

    memberikan tagging pemandangan, hutan, serta menyukai resource 3 kepunyaan user

    C dan memberikan tagging cantik, indah, pakaian.

    2. User D menyukai resource 3 kepunyaan user C, tetapi dengan konteks yang berbeda

    dengan user C sebagai pemilik resource. User C menggunakan tag cantik, indah,

    sedangkan user D menggunakan tagging jelek, kolot.

    3. User F memiliki resource 6 yang mempunyai tag pemandangan, bukit. Tetapi hal ini

    tidak ada korelasi karena resource yang di tag berbeda.

    4. User E menyukai resource 6 kepunyaan user F, tetapi tidak memberikan tagging apapun

    pada resource tersebut.

    5. User G meng-upload resource 7 tanpa memberikan tagging apapun.

    Misalkan kita mempunyai active user C saat ini. Maka kita akan merekomendasikan memilih

    resource 1, 2, 4, 5, 6, 7 kepada user C. Resource 3 tidak diberikan rekomendasi kepadanya

    karena resource 3 dimiliki oleh user 3 sendiri.

    Dari kasus diatas, kita dapatkan tabel rating traditional secara keseluruhan seperti dibawah

    ini :

    1 2 3 4 5 6 7

    A 1 - - - - - -

    B 1 1 1 - - - -

    C - - 1 - - - -

    D - - 1 1 - - -

    E - - - - 1 1 -

    F - - - - - 1 -

    G - - - - - - 2

    Tabel 3.1 Rating Traditional

    Langkah pertama yang akan dilakukan, baik oleh traditioanal CF maupun tag-based

    contextual CF adalah menentukan neighborhood model dari active user yang dalam hal ini

    user C. Proses selanjutnya adalah dengan mengelompokkan penguna sistem menjadi dua

    kelompok. Kelompok pertama adalah pengguna yang memiliki kemiripan dengan active

    user, sedangkan kelompok kedua adalah yang tidak memiliki kemiripan dengan active user.

    Secara umum, untuk memisahkan kelompok pengguna adalah dengan menentukan batas

  • minimal nilai kemiripan bagi pengguna yang tergabung dalam neighborhood dari active

    user. Pada pembuatan sistem rekomendasi image ini, batas awal yang digunakan adalah

    similarity yang bernilai lebih besar dari 0. Selanjutnya akan ditentukan jumlah maksimal

    neighborhood user dari active user. Proses tersebut dilakukan agar neighborhood user yang

    dihasilkan tidak telalu banyak sehingga membuat proses selanjutnya tidak membutuhkan

    waktu dan memory yang berlebihan. Setelah menyelesaikan tahapan ini, maka akan

    dihasilkan sebuah model pengguna yang disebut neighborhood model. Neighborhood model

    merupakan daftar neighbor dari seorang pengguna. Model akan menyimpan daftar penguna-

    pengguna lain yang merupakan neighbor dari pengguna tersebut yang dihasilkan dari proses

    user similarity measurement.

    Dari contoh kasus diatas, apabila kita melakukan cosine user similarity pada semua user,

    akan didapatkan data seperti tabel dibawah ini :

    Cara menentukan neighborhood model user C adalah :

    1. Menentukan tetangga user C yang memiliki kesamaan terhadap resource yang sama-

    sama disukai. Dalam hal ini, user B dan D akan terpilih karena user C dan user B

    menyukai resource 3, demikian juga, user C dan D yang menyukai resource 3 juga.

    2. Mencari user tetangga dari user B dan D. Dari user B, kita akan mendapatkan user A,

    dikarenakan user A dan B, sama-sama menyukai resource 1. Sedangkan dari user D, kita

    tidak mendapatkan user tetangga lain.

    3. Dari langkah diatas, kita mendapatkan tetangga dari user C adalah user A, B, D.

    Sedangkan user E, F, G tidak masuk kedalam neighborhood model dari user active C.

    Dari langkah diatas maka kita akan mendapatkan neighborhood model dari user active C

    seperti yang terlihat pada tabel dibawah ini :

    A B C D E F G

    A - 0.58 0 0 0 0 0

    B 0.58 - 0.58 0.41 0 0 0

    C 0 0.58 - 0.71 0 0 0

    D 0 0.41 0.71 - 0 0 0

    E 0 0 0 0 - 0.71 0

    F 0 0 0 0 0.71 - 0

    G 0 0 0 0 0 0 -

    Tabel 3.2 Neighborhood Model User Active C

  • Dari langkah diatas maka akan didapatkan neighborhood model dari user active C adalah

    seperti ditabel dibawah ini :

    1 2 3 4

    B 1 1 1 -

    C - - 1 -

    D - - 1 1

    Tabel 3.3 CF Rating Traditional

    Untuk perhitungan selanjutnya menggunakan kedua algoritama yang ada, kita hanya akan

    menggunakan model diatas. Hal ini dilakukan, agar hasil rekomendasi didapatkan dengan

    lebih cepat.

    Pendekatan Traditional Collaborative Filtering

    Langkah pertama yang akan kita lakukan adalah mendapatkan user similarity score setiap

    user. Disini kita menggunakan cosine similarity menggunakan rumus di bawah ini :

    Keterangan :

    , : nilai matriks ke i dari matriks user A dan B

    Cos() : cosine similarity

    i : indeks matriks user

    n : panjang matriks pada user A atau B

    Sebagai contohnya kita akan mencari user similarity dari user A dan B. Kalkulasi yang kita

    lakukan adalah :

  • 1. Dot Product user C (-,-,1,-) dan B (1,1,1,-) yaitu (0*1) + (0*1) + (1*1) + (0*0) = 1

    2. Magnitude user C = + + + = 1

    3. Magnitude user B = + + + = 1.73

    4. Product dari magnitude C dan B = 1 * 1.73 = 1.73

    5. Pembagian dari Dot Product C dan B di bagi Product dari Magnitude B dan C = 1/1.73

    = 0.58

    Dari perhitungan diatas, maka user similarity user C dan B adalah 0.58. Dengan cara yang

    sama, kita akan mendapatkan user similarity dari semua user seperti pada tabel dibawah ini

    :

    A B C D

    B 0.58 - 0.58 0.41

    C 0 0.58 - 0.71

    D - 0.41 0.71 -

    Tabel 3.4 CF User Similarity Score Traditional

    Ketika user similarity telah dikalkulasi, maka kita akan mencari score prediction user C

    untuk resource x yang belum di evaluasi menggunakan rumus umum dibawah ini :

    (, ) = {(, ) (, )}

    =

    (, )=

    Kita ambil contoh, untuk data rating yang tersedia pada tabel 3.1, kalkulasi user score

    prediction B untuk resource 4 akan seperti langkah dibawah ini :

    (, ) = {(, ) (, )}

    =

    (, )=

    1. Menghitung jumlah perkalian semua similarity sim(B,) * score(, ) untuk semua

    user lainnya.

    a. Sim(B,C) * score(C,4) = 0.58 * 0 = 0

  • b. Sim(B,D) * score(D,4) = 0.41 * 1 = 0.41

    Penjumlahan dari semua user adalah 0 + 0 + 0.41 = 0.41

    2. Menghitung total similarity user B terhadap semua user lainnya yaitu Sim(B,C) +

    Sim(B,D) = 0.58 + 0.41 = 0.99

    3. Pembagian dari kalkulasi langkah pertama dan kedua. Sehingga kita mendapatkan

    score(B,4) = 0.41 / 0.99 = 0.41

    Dari langkah diatas kita mendapatkan score prediction user B terhadap resource 4 adalah

    0.41. Dengan langkah yang sama, score prediction semua user untuk semua resource yang

    belum mereka evaluasi pada traditional CF adalah :

    1 2 3 4

    B - - - 0.41

    C 0.45 0.45 - 0.55

    D 0.37 0.37 - -

    Tabel 3.5 Score Prediciton untuk Semua User

    Dari tabel diatas kita akan mendapatkan score prediction terhadap active user C seperti tabel

    dibawah ini :

    1 2 4

    C 0.45 0.45 0.55

    Tabel 3.6 Hasil Score Prediction User C

    Dari tabel diatas, apabila kita akan merekomendasikan User C suatu resource, dan kita

    membatasi hanya boleh 1 resource yang di rekomendasikan, maka User C, akan di

    rekomendasikan resource 4, karena score prediction tertinggi untuk user C adalah resource

    4.

    User prediction ini untuk active user C ini masih kurang baik, karena traditional CF belum

    memperhitungkan tag-based contextual-nya. Memang terdapat kedekatan antara user C dan

    user D yang sama-sama menyukai resource 3. Tetapi kita harus melihat bahwa sebagai

    pemilik resource 3, user C menggunakan tag cantik, indah yang berbeda jauh dengan user

    D yang menggunakan tag jelek, kolot. Kedua user menyukai resource tersebut, namun

    dengan konteks yang berbeda. Karena alasan tersebut, traditional CF akan diperbaiki

  • menggunakan tag-based contextual CF yang memperhitungkan konteks yang ada

    berdasarkan tagging image.

    Pendekatan Tag-Based Contextual Collaborative Filtering

    Pada model ini, user similarity yang di gunakan tidak menggunakan cosine similarity lagi,

    namun telah dirubah menggunakan fungsi persamaan dibawah ini :

    (, ) =

    {(, ) + }

    =

    Keterangan :

    (, ) : similarity contextual CF user A dan B

    n : jumlah resource ditag bersama user A dan B

    (, ) : cosine similarity tag vector user A dan B terhadap resource k

    Misalkan kita akan mencari user similarity dari user B dan C. Karena user B dan C, hanya

    melakukan tagging pada resource 3 secara bersama-sama, maka tag-based vector user B dan

    C pada resource 3 akan terlihat seperti tabel dibawah ini :

    cantik indah pakaian

    1 1 1

    1 1 0

    Tabel 3.7 Tag-based Vector User B dan C pada Resource 3

    Untuk mendapatkan user similarity yang baru sesuai dengan rumus yang telah di perbaharui

    tersebut, kita menggunakan langkah-langkah sebagai berikut :

    1. Mendapatkan cosine similarity dari kedua tag-based vector diatas. Dari hasil

    perhitungan kita akan mendapatkan similarity kedua tag-based vector tersebut adalah

    0.5.

    2. Dari hasil itu menggunakan rumus diatas

  • (, ) =

    {(, ) + }

    =

    kita mendapatkan (, ) = * (0.5+1 ) = *1.5 = 0.75

    Dengan cara yang sama seperti diatas, kita mendapatkan Contextual CF User Similarity

    Score untuk semua user seperti yang terlihat pada tabel di bawah ini :

    A B C D

    A - 0.75 0 0

    B 0.75 - 0.91 0.5

    C 0 0.91 - 0.5

    D 0 0.5 0.5 -

    Tabel 3.8 Contextual CF User Similarity Score

    Namun, kelemahan dari model ini masih ada. Dalam sistem ini, hanya ada pilihan untuk suka

    atau tidak. Dengan demikian, sebagian besar user hanya akan tag-based resource jika dan

    hanya jika mereka menyukai resource tersebut. Namun, kurangnya tag-based tidak selalu

    berarti tidak suka, tetapi mungkin saja mereka tidak evaluasi resource tersebut. Mengingat

    hal ini, model ini hanya tergantung pada resource yang umumnya di tag-based, ini dapat

    menjadi masalah ketika image di tag-based atau disuka sedikit. Masalah ini umum untuk

    sistem berbasis CF lain juga. Selanjutnya kita akan melakukan kalkulasi score prediction

    menggunakan rumus :

    (, ) =

    {(, ) ( ((, ), , (, )) + )}=

    (, )=

    Keterangan :

    (, ) : score prediction user A terhadap resource x

    (, ) : cosine similarity user A terhadap user

  • ( , ) : cosine similarity tag vector user terhadap resource m dan

    resource x

    k : indeks neighbor model user dari user A

    n : jumlah user pada neighborhood model user A

    Misalnya, kita ingin melakukan prediksi score user C untuk resource 2, dimana resource 2

    tersebut belum di tag-based oleh user C. Langkah- langkanh yang akan kita lakukan adalah

    :

    1. Menggunakan CCF User Similarity pada tabel 3.4 , kita menentukan user lain yang

    mempunyai user similarity yang tinggi dengan user C. Disini kita mendapatkan user

    B karena user similarity user B dan C adalah 0.91.

    2. Menentukan resource yang di tag-based bersama oleh kedua user. Kemudian

    melakukan cosine similarity resource yang di tag-based terhadapat resource 2. Apabila

    terdapat lebih dari satu, maka similarity tertinggilah yang akan digunakan untuk score

    prediction. Disini user B dan C , sama-sama melakukan tag-basedging pada resource

    3.

    Jadi, tag-based vector B untuk resource 2 dan 3 seperti yang terdapat pada tabel dibawah ini

    :

    cantik indah pakaian bunga

    1 1 1 0

    1 0 0 1

    Tabel 3.9 Tag-based Vector Resource 3 dan 2 Terhadap user B

    Menggunakan cosine similarity kita mendapatkan sim(, ) = 0.41.

    3. Langkah selanjutnya adalah mencari score prediction user C terhadap resource 2.

    Menggunakan rumus diatas, kita mendapatkan

  • (, ) =

    {(, ) (((, )) + )}=

    = (, )

    =

    {.(.+)}

    . = 0.71

    Sehingga kita mendapatkan score prediksi user C untuk resource dua dalah 0.71. Dengan

    cara yang sama kita mendapatkan score(C,1) = 0.5 .

    Hasil score prediksi untuk traditional CF dan tag-based CCF user C pada resource 1 dan 2

    seperti pada tabel di bawah ini :

    Resource 1 Resource 2

    Tradisioanl CF 0.45 0.45

    Tag-based CCF 0.5 0.71

    Tabel 3.10 Perbandingan Hasil Traditional CF dan Tag-basedCCF

    Pada hasil score prediction diatas, kita dapat melihat bahwa Traditional CF memberikan

    score yang sama kepada User C. Padahal dari segi tag-based, user B melakukan tag-based

    pemandangan dan hutan, yang benar-benar berbeda dibandingkan dengan tag-based yang

    pernah digunakan user C yaitu cantik dan indah. Sedangkan pada tag-based CCF, hal ini

    telah diperbaiki dengan membuat resource 2 sebagai resource yang paling

    direkomendasikan kepada user C karena terdapat kesamaan antar tag-based yang digunakan

    oleh user C, dan tag-based yang digunakan oleh user B pada resource 2.

    Perancangan Sistem

    Pada bagian ini akan dijelaskan tentang perancangan sistem dari sistem rekomendasi

    film yang akan dibangun. Perancangan meliputi ER diagram, use case diagram dan class

    diagram.

    3.4.1 ER Diagram

    Basis data yang digunakan secara umum terdiri dari dua entitas utama yaitu pengguna dan

    image yang dihubungkan dengan dua relasi yaitu tagging dan like. Relasi Pengguna dan

    Image bersifat many to many yang menjadikan Tagging dan Like akan menjadi sebuah table

  • pada database dengan idImage dan username merupakan foreign key, dan secara bersama-

    sama bertindak sebagai primary key untuk table Tagging dan Like tersebut.

    Gambar 13.10 ERD Diagram Sistem

    3.4.2 Use Case Diagram

    Gambar 3.11 akan menerangkan tentang fungsionalitas-fungsionalitas yang terdapat

    pada sistem rekomendasi film yang akan dibangun. Pada sistem ini, user yang adalah satu

    jenis yaitu pengguna yang telah mendaftarkan dirinya pada sistem, sehingga dapat

    menggunakan fungsi-fungsi yang terdapat pada sistem, termasuk fungsi rekomendasi.

    Gambar 3.11 Usecase Diagram

  • Penjelasan Use Case Diagram diatas adalah :

    1. Add Image, adalah fungsionalitas bagi pengguna untuk dapat menambahkan image

    yang dipunyainya pada system.

    2. Like Image, adalah fungsionalitas untuk memberi tanda suka pada image orang lain

    di system.

    3. Tagging Image adalah fungsionalitas untuk melakukan tagging pada image. Tagging

    yang dilakukan dapat lebih dari satu pada sebuah image.

    4. View Images, adalah fungsionalitas untuk melihat images milik sendiri dan milik

    orang lain pada system.

    5. Get Collaborative Recommendation, adalah Fungsionalitas untuk mendapatkan

    rekomendasi berdasarkan tradisional CF oleh system.

    6. Get Tag-Based Collaorative Recommendation, adalah fungsionalitas untuk

    mendapatkan rekomendasi yang dihasilkan tag-based collaborative filtering.

    Class Diagram

    Pada Class Diagram ini, penulis akan membagi kedalam 3 kategori, yaitu Model,

    View Dan Controller sehingga didapatkan penjelasan yang lebih mengenai system

    rekomendasi tersebut.

    Model

    Gambar dibawah ini, akan mendetailkan model yang terdapat pada system.

    Gambar 3.12.1 Class Diagram Model Dan Persistance Sistem

  • Gambar 3.12.2 Class Diagram Model Dan Persistance Sistem

    Terdapat 2 entitas pada system, yaitu entitas pengguna dan myImage. Properti pada

    Pengguna adalaha imagePengguna yang bertipe bufferedImage untuk menyimpan profil

    picture untuk pengguna tersebut, dan property lainnya seperti nama, username dan password

    yang bertipe String. Sedangkan kelas myImage, property seperti bufImage yang bertipe

    BufferedImage, pemilikImage, deskripsi dan nama image yang berupa String, list kumpulan

    user yang menyukai dan mentag image tersebut, serta sebuah property tagOrangLain bertipe

    HashMap yang merupakan tagging user lain terhadap image tersebut. Kelas

    KontrollerDatabase merupakan kelas static yang melakukan proses persistence pada system.

    Kelas tersebut bertanggung jawab pada transaksi system ke system database yang dalam hal

    ini, adalah MySql.

    4.3.3.2 View

    Kelas dibawah ini, adalah kelas yang bertanggung jawab untuk menampilkan data

    menggunkan model yang ada dan perintah dari kelas-kelas controller.

  • Gambar 3.13 View Pada Sistem Rekomendasi

    Controller

    Pada kelas-kelas dibwah ini, adalah kelas yang akan melakukan perubahan pada view sistem.

    Fungsionalitas Get Collaborative dan Get Tag-Based Collaborative Filtering dilakukan pada

    kelas tersebut.

  • IMPLEMENTASI DAN CARA

    KERJA SISTEM

    Bab ini menjelaskan mengenai implementasi dan pengujian pada aplikasi

    sistem rekomendasi yang dibangun dengan metode collaborative filtering

    dan tag-based collaborative filtering dan disertai dengan analisis hasil

    pengujian yang telah didapatkan.

    Lingkungan Pengembangan

    Bagian ini menjelaskan spesifikasi perangkat keras yang digunakan dan

    perangkat lunak yang dipakai dalam membangun dan mengembangkan

    aplikasi sistem rekomendasi.

    Lingkungan Perangkat Keras

    Spesifikasi perangkat keras yang digunakan dalam pengembangan

    aplikasi dan situs ini adalah sebagai berikut:

    1. Processor Core i7 2.4 GHz

    2. Memory 8 GB

    3. Hard Disk 256 GB

    Lingkungan Perangkat Lunak

    Pengembangan aplikasi ini membutuhkan beberapa perangkat lunak,

    diantaranya adalah sebagai berikut:

    1. Sistem Operasi Mac OSX 10.9.3 Mavericks

    2. NetBeans IDE 8.0

    3. Java Development Kit 8.0u5

    4. Java Runtime Environment 8.0u5

    5. MySQL Server 5.1

    Implementasi Model

    Pada tahapan implementasi sistem rekomendasi gambar terdapat

    beberapa model utama yang diimplementasikan. Model-model tersebut

    digunakan dalam proses pengolahan serta penyajian data-data pada proses

  • yang akan menghasilkan sebuah rekomendasi. Berikut ini adalah

    penjelasan dari model-model tersebut.

    1. User Model

    Atribut Tipe Data Fungsi

    username String variabel untuk nama active

    user

    namaUser String Variabel nama aktif user

    password String variabel password user

    imagePengguna BufferedImage variable berisi image aktif user

    Ketika seorang user melakukan login dengan benar dengan memasukkan

    username dan password yang telah teregistrasi pada database, makan

    model ini akan diciptakan, sehingga detail pengguna dapat ditampilkan

    pada halaman utama user tersebut.

    2. Image Model

    Atribut Tipe Data Fungsi

    idImage Int variabel untuk nama id

    Image

    pemilikImage String Variabel u s e r n a m e p e m i l i k aktif user

    namaImage String variabel nama Image

    deskripsiImage String variable berisi deskripsi image

    tagImagePemilik List Variable berisi tag Pemilik akan image yang image tersebut

    tagOrangLain HashMap>

    Variable berisi tag dari user lain terhadap image tersebut

    likeUsers List Variabel berisi list username user lain yang menyukai image tersebut.

    Pada model image tersebut, akan terdapat semua data tentang image yang

  • didapat dari database server.

    Ketika seorang user aktif, kedua model itu akan di load. Sedangkan untuk

    mencari rekomendasi kepada user tersebut, akan di ekstrak data user dan

    image kedalam matrik korelasi antara keduanya..

    Implementasi Aplikasi

    Implementasi aplikasi sistem rekomendasi image dilakukan dengan cara

    membangun sebuah situs untuk para penggemar gambar. Aplikasi ini

    memiliki fasilitas sistem rekomendasi image yang menggunakan

    metode collaborative filtering dan Tag based). Berikut adalah tampilan dan

    penjelasan halaman- halaman pada aplikasi sistem rekomendasi ini.

    4.3.1 Home (sebelum user melakukan proses

    login)

    Saat pengguna membuka situs untuk pertama kalinya maka sistem

    akan menampilkan halaman utama atau home. Halaman Home dapat

    dilihat pada gambar 4.6.

    gambar 4.6 Halaman Home (sebelum login)

    Berikut ini adalah penjelasan dari bagian-bagian yang terdapat pada gambar

    4.6 :

  • 1. Login, bagian ini berfungsi bagi pengguna untuk masuk dan

    menggunakan fungsi sistem secara keseluruhan. Pengguna harus

    mengisi username dan password terlebih dahulu untuk masuk ke

    halaman profile pengguna

    2. Registration, bagian ini berfungsi bagi pengguna yang belum

    terdaftar pada aplikasi system rekomendasi ini dengan cara melakukan

    registrasi terlebih dahulu.

  • Home (setelah user melakukan proses login)

    Setelah pengguna melakukan proses login dan masuk kedalam sistem, maka

    halaman utama akan mengalami perubahan. Halaman My Profile setelah login

    terlihat pada gambar 4.7.

    Gambar 4.7 Halaman Profile Pengguna

    Berikut ini adalah penjelasan dari bagian-bagian yang terdapat pada gambar 4.7 :

    1. Tab Main menu, pada bagian ini menampilkan menu-menu utama bagi

    pengguna dalam menggunakan aplikasi ini.

    2. Collaborative Filtering, bagian ini menampilkan hasil gambar-gambar yang

    direkomendasikan dengan menggunakan metode Colllaborative Filtering. Pada

    tampilan gambar yang direkomendasikan, pengguna dapat memperbesar gambar

    tersebut untuk dapat melihat detail deskripsi gambar.

    3. Tag-Based Contextual Collaborative Filtering, pada bagian ini menampilkan

    hasil gambar-gambar yang direkomendasikan dengan menggunakan metode

    Tag-Based contextual Collaborative filtering. Pada tampilan gambar yang

    direkomendasikan, pengguna dapat memperbesar gambar tersebut untuk dapat

    melihat detail deskripsi gambar.

    4. Add Image, pada bagian ini memberikan fasilitas bagi pengguna untuk dapat

    menambahkan gambar kedalam view image milik pengguna. Untuk tampilannya

  • dapat dilihat pada gambar berikut ini.

    Gambar 4.8 tampilan add image

    5. Log Out, pada bagian ini memberikan fasilitas bagi pengguna untuk keluar dari

    akun aplikasi sistem rekomendasi.

    View Analisa Rekomendasi

    Halaman ini berfungsi untuk menampilkan hasil perbandingan menggunakan metode

    Collaborative Filtering dan metode Tag-Based Contextual Collaborative Filtering.

    Halaman analisa rekomendasi dapat dilihat pada gambar 4.9

  • Gambar 4.9 Tampilan Analisa Rekomendasi

    Gambar 4.10 Tampilan Analisa Rekomendasi Collaborative Filtering

    Pada gambar 4.10 ditampilkan nama, deskripsi, dan jumlah gambar yang dimiliki oleh

    pengguna yang sedang aktif. Terdapat juga jumlah user lain dan deskripsi masing-

    masing gambar yang dimiliki oleh user lain.

  • Gambar 4.11 Tampilan hasil perhitungan menggunakan metode Collaborative Filtering

    Gambar 4.11 menampilkan tahap-tahap pencarian untuk menemukan hasil gambar

    yang akan direkomendasikan dengan menggunakan metode Collaborative Filtering.

    1. Matriks Tradisional Semua User

    Bagian baris menujukan berapa banyak user yang menggunakan aplikasi ini,

    bagian kolom menunjukan semua gambar yang dimiliki oleh user. Nilai yang

    terdapat pada data tersebut adalah untuk menjukkan apakah user tersebut

    memiliki hubungan dengan gambar atau tidak. Untuk nilai 1, dapat diartikan

    bahwa user tersebut memiliki hubungan (sebagai pemilik atau menyukai)

    terhadap gambar tersebut, dan nilai 0 diartikan bahwa user tersebut tidak

    memiliki hubungan (sebagai pemilik atau menyukai) terhadap gambar tersebut.

    2. User similarity semua user

    Menunjukan nilai kedekatan antar setiap user apakah user tersebut sama-sama

    memiliki atau menyukai gambar yang sama. Rumus yang digunakan pada

    perhitungan ini adalah rumus Cosine Similarity.

    3. Matriks Tradisional User Aktif

    Menujukan user mana saja yang memiliki kesamaan dengan user yang sedang

    login (Neighboorhood model)

    4. Matriks User Similarity User Aktif

    Sama seperti User similarity semua user akan tetapi hanya khusus user yang

  • sedang login.

    5. Matriks Score Prediction

    Menampilkan hasil perhitungan score prediction dari resource terhadap user

    yang aktif.

    Gambar 4.12 Tampilan analisa rekomendasi metode Tag-Based Contextual Collaborative Filtering

    Gambar 4.13 Tampilan hasil pencarian Score Prediction menggunakan metode Tag-Based Contextual

  • Collaborative Filtering

    1. Matriks Tradisional Semua User

    Bagian baris menujukan berapa banyak user yang menggunakan aplikasi ini,

    bagian kolom menunjukan semua gambar yang dimiliki oleh user. Bagian ini

    dihitung berdasarkan apakah user tersebut di tag ke gambar tertentu.

    2. User similarity semua user

    Menunjukan nilai kedekatan antar setiap user apakah user ditag ke gambar yang

    sama. Rumus yang digunakan pada perhitungan ini adalah rumus Cosine

    Similarity.

    3. Matriks Tradisional User Aktif

    Menujukan user mana saja yang memiliki kesamaan dengan user yang sedang

    login (Neighboorhood model)

    4. Matriks User Similarity User Aktif

    Sama seperti User similarity semua user akan tetapi hanya khusus user yang

    sedang login.

    5. Matriks Score Prediction

    Menampilkan hasil perhitungan score prediction dari resource terhadap user yang

    aktif berdasarkan Tag-Based Contextual Collaborative Filltering.

    Gambar 4.14 Tampilan View Images

  • Berikut ini merupakan penjelasan dari bagian-bagian yang terdapat pada tampilan view

    images:

    1. Pada bagian ini menampilkan kumpulan gambar yang dimiliki oleh pengguna

    yang sedang aktif.

    2. Pada bagian ini menampilkan kumpulan gambar yang dimiliki oleh pengguna

    lain

    Pengujian Hasil Rekomendasi

    Pada bagian ini akan diberikan hasil pengujian terhadap pengguna baru dan pengguna

    lama.

    Pengujian untuk Pengguna baru (New User)

    1. Membuat user baru pada aplikasi, pada pengujian ini pengguna mendaftarkan

    user h. Pendaftaran tampak pada gambar berikut :

    gambar 4.4.1.1

    3. Pada Saat pertama kali login User, user aktif tidak memiliki rekomendasi gambar.

    Ini dikarenakan user aktif belum memiliki gambar dan belum pernah menyukai

    gambar milik user lain.

  • 4. Untuk Menambahkan Image pada aplikasi, pilih add image. Setelah itu akan

    muncul tampilan seperti gambar di bawah ini :

  • 5. Untuk memulai proses rekomendasi, pilih view images, pilih gambar 1, setelah

    itu klik like

    6. Setelah me-like gambar maka hasil rekomendasi akan muncul pada bagian my

    profile dan analisa rekomendasi

  • 7. Untuk mendapatkan nilai rekomendasi berdasarkan Tag, pilih gambar satu lalu

    pilih tag dan isikan nama tag yang diinginkan pada pengujian menggunakan tag

    cantik

  • 8. Hasil Prediksi akan muncul pada tab my Profile dan Analisa rekomendasi, seperti

    gambar di bawah ini :

  • Pengujian untuk pengguna lama

    Pengujian untuk pengguna lama, rekomendasi akan langsung diberikan ketika user

    melakukan login, rekomendasi gambar akan langsung muncul pada tab my profile

    berdasarkan data yang sudah ada sebelumnya.

  • Kesimpulan

    Kesimpulan yang dapat diambil dari pembuatan situs dengan sistem

    rekomendasi film ini adalah:

    1. Nilai user similarity pada metode collaborative filtering

    dapat menggambarkan kemiripan antar pengguna sistem. Namun

    tingkat kepercayaan terhadap nilai tersebut akan berbanding lurus

    dengan jumlah like yang beririsan.

    2. Terdapat perbedaan tingkat performansi dari masing-masing

    metode dalam menghasilkan rekomendasi terhadap pengguna baru

    dan pengguna lama. Metode collaborative filtering memiliki tingkat

    performansi yang masih kurang baik untuk pengguna baru, namun

    seiring bertambahnya rating data seorang pengguna, performansi

    dari metode collaborative filtering semakin baik. Peningkatan

    performansi metode collaborative filtering dapat terlihat pada

    hasil rekomendasi untuk pengguna lama. Metode content based

    filtering sudah mampu menghasilkan rekomendasi image dengan

    hasil yang cukup baik, untuk pengguna baru maupun pengguna

    lama.

    3. Pada metode tag based based filtering, tag menjadi faktor yang

    dominan dalam penentuan image yang akan direkomendasikan. Tag

    yang semakin bervariasi akan mempengaruhi hasil dari rekomendasi

    tersebut.

    4.

    Saran

    Hal-hal berikut dapat dijadikan masukkan untuk pengembangan lebih

    lanjut di kemudian hari:

    1. Teknik-teknik lain dari metode collaborative filtering seperti

    teknik model-based dan hybrid perlu dicoba untuk digunakan.

    Penggunaan teknik lain mungkin akan menghasilkan performansi

    yang lebih baik untuk metode collaborative filtering.

    2. Penggunakan rating dengan skala dilakukan sehingga bukan hanya

    tergantung pada nilai suka atau tidak suka saja, tetapi skala suka dan

  • tidak suka pun dapat lebih bervariasi sehingga menghasilkan nilai

    yang lebih baik.

    2. Penggunaan teknik hybrid yang menggabungkan collaborative

    filtering dan tag-based contextual collaborative layak untuk

    dilakukan untuk mendapatkan hasil yang lebih baik.

    3. Dapat ditemukan dan digunakan teknik-teknik lain untuk

    mengukur akurasi sistem rekomendasi, agar nilai nilai akurasi

    akurat

  • 61