• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI - Sistem Rekomendasi Film Indonesia Menggunakan Algoritma Apriori

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI - Sistem Rekomendasi Film Indonesia Menggunakan Algoritma Apriori"

Copied!
19
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

Pada bab ini akan diuraikan beberapa hal penting berkenaan dengan dasar perancangan sistem rekomendasi film Indonesia menggunakan algoritma Apriori. Semua dasar teori tentang sistem rekomendasi beserta algoritma yang digunakan dikutip dari buku, jurnal, laporan dan Internet.

2.1 Sistem Rekomendasi

Sistem rekomendasi merupakan sistem yang bertujuan memperkirakan informasi yang menarik bagi penggunanya dan juga membantu calon konsumen dalam memutuskan barang apa saja yang akan dibelinya. (Adi, 2010). Dalam sistem rekomendasi diperlukan adanya preferensi atau profil pengguna dalam menentukan pilihan dari sekian banyak item yang ada sesuai dengan kebutuhan pengguna. Profil pengguna umumnya didasarkan menarik tidaknya suatu informasi yang dilihat oleh user (Tsalaatsa, et al, 2013). Sistem rekomendasi akan menawarkan kemungkinan dari penyaringan informasi personal sehingga hanya informasi yang sesuai dengan kebutuhan dan preferensi pengguna yang akan ditampilkan di sistem dengan menggunakan sebuah teknik atau model rekomendasi (Sebastia, et al, 2009).

(2)

1. Content-Based : bekerja dengan cara mencari item lain yang mirip dengan item yang disukai oleh user berdasarkan informasi content atau tekstual dari setiap item (Mobasher, et al, 2000)

2. Collaborative Filtering : metode yang digunakan untuk memprediksi kegunaan item berdasarkan penilaian pengguna sebelumnya (Adomavicious, et al, 2005) 3. Knowledge-Based : merekomendasikan berdasarkan pengetahuan tentang

bagaimana item tertentu dapat memenuhi kebutuhan pengguna.

4. Hybrid Based : kombinasi dari beberapa metode yang ada dalam pengembangan sistem rekomendasi.

Gambar 2.1 Diagram teknik rekomendasi dan sumber pengetahuannya menurut Burke, Robin (2007)

2.2 Data Mining

Secara sederhana, data mining merupakan ekstrasi informasi atau pola yang penting atau menarik dari data yang ada di database yang besar (Sucahyo, 2003). Prosesnya memungkinkan pengguna untuk menganalisis data dari dimensi

(3)

Gambar 2.2 merupakan komponen utama dalam data mining menurut Han & Kamber (2001) :

Gambar 2.2 Arsitektur Data Mining

1. Database, data warehouse, internet dan repositori informasi lainnya : merupakan kumpulan data, ataupun jenis informasi lainnya. Pemilahan data atau integrasi data dilakukan untuk pengolahan data.

2. Server database : server database bertanggung jawab dalam pengambilan data yang relevan dengan permintaan pengguna.

3. Knowledge base : digunakan untuk memandu dan mengevaluasi ketertarikan dari pola yang dihasilkan. Pengetahuan tersebut dapat mencakup konsep hirarki yang digunakan untuk mengatur atribut atau nilai atribut ke dalam berbagai tingkat abstraksi.

(4)

5. Modul evaluasi pola : komponen ini biasanya menggunakan ukuran “ketertarikan” dan interaksinya dengan modul data mining untuk memfokuskan pencarian ke pola yang menarik.

6. Antar Muka (User Interface) : modul ini memungkinkan pengguna untuk berinteraksi dengan sistem data mining.

Secara umum, data mining melibatkan enam kelas tugas (Fayyad, et al. 1996), yaitu:

1. Anomaly Detection : identifikasi data yang tidak biasa dari kumpulan data, yang mungkin menarik atau data yang rusak yang membutuhkan investigasi lebih lanjut.

2. Association Rule Learning : mencari hubungan antara variabel data.

3. Clustering : menemukan kelompok – kelompok dan struktur dalam data tanpa menggunakan struktur yang dikenal dalam data.

4. Classification : generalisasi struktur yang dikenal untuk diterapkan ke data baru. Sebagai contoh, program e-mail mungkin akan mencoba untuk mengklasifikasikan e-mail sebagai “sah” atau sebagai “spam”.

5. Regression : mencoba untuk menemukan sebuah fungsi yang memodelkan data dengan kesalahan yang minim.

6. Summarization : memberikan representasi yang lebih padat dari kumpulan data, termasuk visualisasi dan pembuatan laporan.

(5)

Sebagian besar teknik yang dipakai dalam sistem rekomendasi merupakan penerapan dari teknik yang dikenal dalam proses data mining. Dalam sistem rekomendasi, data mining digunakan untuk mendeskripsikan kumpulan teknik analisis untuk menyimpulkan aturan rekomendasi atau membangun model rekomendasi dari kumpulan data yang besar, dan sistem rekomendasi yang menggabungkan teknik tersebut akan menghasilkan rekomendasi berdasarkan pengetahuan yang dipelajari dari tindakan dan atribut pengguna (Schafer, 2009), maka dari itu data mining sering juga disebut knowledge discovery in database (KDD) dimana keluaran dari data mining bisa dipakai untuk memperbaiki pengambilan keputusan di masa depan (Rochmah, 2010).

Proses data mining biasanya terdiri dari tiga langkah yang dilakukan secara berurutan (Pyle, D, 1999), yaitu : data preprocessing, analisis data, dan hasil interpretasi, seperti gambar dibawah berikut :

(6)

Dari Gambar 2.4, maka analisis dalam data mining terdiri dari dua fungsi (Santosa, 2007), yaitu :

1. Fungsi prediksi : memprediksi nilai atribut tertentu berdasarkan nilai atribut yang lain dimana atribut yang diprediksi itu dikenal sebagai variabel yang tergantung pada variabel lain

2. Fungsi deskripsi : memperoleh pola dari kecenderungan korelasi, cluster dan anomali data yang menyimpulkan hubungan dalam data.

Beberapa teknik ataupun algoritma dalam data mining yang dapat digunakan adalah teknik Clustering, Classification, Association Rule dan sebagainya.

2.3 Aturan Asosiasi (Association Rule Mining)

Aturan asosiasi adalah teknik untuk menemukan aturan asosiatif antara suatu kombinasi atribut, mencari dan menemukan hubungan antar item yang ada dalam kumpulan data dan bertujuan untuk menemukan informasi item-item yang saling berhubungan dalam bentuk sebuah aturan, maka dari itu, aturan asosiasi termasuk dalam metode analisis market basket (Rochmah, 2010). Aturan asosiasi dapat digunakan untuk menemukan “hubungan atau sebab akibat” (Kusumo, et al. 2003). Aturan asosiasi ataupun korelasi item-ke-item merupakan salah satu metode yang paling terkenal dalam sistem rekomendasi (Sarwar, et al. 2001). Aturan asosiasi telah digunakan dalam berbagai bidang seperti jaringan telekomunikasi, market, manajemen resiko, dan sebagainya.

Market Basket Analysis adalah Analisis terhadap kebiasaan membeli customer dengan mencari asosiasi dan korelasi antara item-item berbeda yang diletakkan customer dalam keranjang belanjaannya (Rochmah, 2010). Association rule memiliki bentuk LHSRHS dengan interpretasi bahwa jika setiap item dalam LHS (Left Hand Side) dibeli, maka item dalam RHS (Right Hand Side) juga dibeli (Kusumo, et al. 2003).

(7)

1. Nilai pendukung (Support) yaitu ukuran yang menunjukkan seberapa besar tingkat dominasi suatu item dari keseluruhan transaksi yang ada dimana ukuran ini menentukan apakah item tersebut layak untuk dicari nilai kepastiannya.

2. Nilai Kepastian (Confidence) yaitu ukuran yang menunjukkan hubungan antar item secara kondisional

Kedua ukuran itulah nantinya yang berfungsi untuk menentukan interesting association rules, untuk dibandingkan dengan batasan yang ditentukan oleh pengguna yang mana batasan tersebut umumnya terdiri dari min_support dan min_confidence (Aritonang, 2012).

Dalam pencarian aturan asosiasi, diperlukan suatu variabel ukuran yang dapat ditentukan oleh pengguna, untuk mengatur batasan sejauh mana dan sebanyak apa hasil output yang diinginkan oleh pengguna (Rochmah, 2010). Dalam asosiasi terdapat istilah antecedent dan consequent, antecedent untuk mewakili bagian “jika” dan consequent untuk mewakili bagian “maka”. Dimana antecedent dan consequent adalah sekelompok item yang tidak punya hubungan secara bersama (Santoso, 2007).

2.4 Algoritma Apriori

(8)

Terdapat dua proses utama pada algoritma apriori (Han & Kamber 2006), yaitu : 1. Penggabungan (Join)

Setiap item dikombinasikan dengan item yang lainnya sampai tidak terbentuk kombinasi lagi

2. Pemangkasan (Prune)

Hasil kombinasi item akan dipangkas dengan menggunakan minimum support yang telah ditentukan pengguna.

Algoritma apriori bertujuan untuk menemukan frequent itemsets pada kumpulan data. Analisis apriori merupakan suatu proses untuk menemukan semua aturan apriori yang memenuhi syarat minimum untuk nilai pendukung (Support) dan nilai kepastian (Confidence), (Syaifullah, 2010). Nilai pendukung dari sebuah item bisa didapatkan dengan rumus :

Support (A) = ( ) 100%

Dimana : JT = Jumlah transaksi yang terdapat A T = Total Transaksi

Sedangkan nilai pendukung dari 2 buah item bisa didapatkan dengan rumus :

Support (A, B) = ( → ) ( → ) 100%

Dimana : JT (A→B) = Jumlah transaksi yang terdapat A dan B

Untuk mendapatkan nilai kepastian bisa didapatkan dengan rumus :

Confidence (A, B) = ( → ) ( → ) 100%

(9)

Frequent itemset merupakan iterasi pada data. Pada iterasi ke-k ditemukan semua himpunan item-item yang mempunyai k item yang disebut k-itemset. Setiap iterasi terdiri dari dua tahap. Pertama, adalah tahap pembangkitan kandidat (candidate generation) dimana himpunan semua frequent (k – 1) -itemset Fk-1 yang ditemukan pada pass ke-(k – 1) digunakan untuk membangkitkan kandidat itemset Ck. Prosedur pembangkitan kandidat menjamin bahwa Ck adalah superset dari himpunan semua frequent k-itemset. Kemudian data di-scan dalam tahap Penghitungan Support (Support Counting). Pada akhir pass Ck diperiksa untuk menentukan kandidat mana yang sering muncul, menghasilkan Fk. Penghitungan support berakhir ketika Fk atau Ck+1 kosong. Untuk membangkitkan rule akan dibangkitkan lebih dahulu candidate rule. Candidate rule berisi semua kemungkinan rule yang memiliki support > minimum support karena input candidate rule adalah frequent-itemset. Kemudian candidate rule akan join dengan tabel F untuk menemukan support antecedent. Confidence rule dihitung dengan cara membandingkan support rule dengan support antecedent rule. Hanya rule yang mempunyai confidence > minimum confidence yang disimpan dalam tabel rule (tabel R), (Kusumo, et al. 2003).

2.5 PHP (Hypertext Prepocessor)

PHP adalah singkatan dari Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source atau gratis. PHP merupakan script yang menyatu dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah script yang digunakan untuk membuat halaman web dinamis, dimana halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu terbaru atau up to date (Lubis, et al. 2011). Semua script PHP di eksekusi pada server dimana script tersebut dijalankan. Contoh terkenal dari aplikas PHP adalah phpBB dan MediaWiki. PHP dapat juga dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSPJava Sun Microsystems, dan CGI/Perl.

(10)

Server

Request Response

yang diminta didapatkan oleh web server, isinya segera dikirimkan ke mesin PHP untuk diproses dan memberikan hasilnya ke web server dan menyampaikannya ke klien. PHP bertugas sebagai interpreter (Lubis, et al. 2011).

Gambar 2.5 Arsitektur aplikasi web yang melibatkan Middleware

Kelebihan PHP :

 Membuat web menjadi dinamis.

 Program atau aplikasi dapat dijalankan disemua sistem operasi.

 Dapat berjalan dalam web server di sistem operasi yang berbeda.

 Dapat berjalan di sistem operasi yang berbeda.

 Dapat didapatkan secara gratis

 PHP yang dikembangkan dengan bahasa C dapat kita kembangkan sendiri

 Tidak melakukan kompilasi dalam penggunaannya

 Mendukung banyak paket database baik komersial maupun nonkomersial

 Mudah dipakai karena terdapat banyak referensi

(11)

Kekurangan PHP :

 Permasalahan sering terjadi pada register_global

 Tidak mengenal package

Script dapat dibaca semua orang jika tidak di encoding dulu

 Kelemahan dalam keamanan.

Dalam PHP, variabel selalu diisi dengan nilai. Dengan kata lain, ketika anda mengisikan sebuah ekspresi pada suatu variabel, semua nilai ekspresi asal akan disalin ke dalam variabel tujuan. Ini berarti setelah mengisikan nilai suatu variabel ke variabel yang lain, jika kita mengubah nilai salah satu variabel tidak akan mempengaruhi variabel yang lain.

2.6 SQL

SQL adalah kepanjangan dari Structured Query Language, yang merupakan bahasa pemrograman untuk menyimpan, memanipulasi dan mendapatkan data yang tersimpan dari basis data relasional (database). SQL adalah bahasa standar untuk sistem basis data relasional (Lubis, et al. 2011). Sistem basis data yang umumnya dipakai seperti MySQL, MS Access, Oracle, SQL Server, dan sebagainya. Dan biasanya sistem basis data tersebut menggunakan SQL versi yang tersendiri seperti MS SQL Server menggunakan T-SQL, Oracle menggunakan PL/SQL, MS Access menggunakan Jet SQL.

SQL memungkinkan seorang programmer atau administrator database untuk melakukan :

 Modifikasi struktur database

 Mengubah pengaturan sistem keamanan

 Melakukan proses kueri (query) untuk mencari informasi dalam database

 Memperbaharui data yang ada dalam database

(12)

 Numerik = INTEGER, SMALLINT, BIGINT, NUMERIC (w,d), DECIMAL(w,d), FLOAT, REAL, DOUBLE PRECISION

 Karakter = CHARACTER(L), VARCHAR(L)

 Biner = BIT(L), BIT VARYING (L), BLOB

 Temporal = DATE, TIME, TIMESTAMP Contoh query dalam SQL (Halvorsen, 2014) :

 Insert into STUDENT (Name, Number, SchoolId)

Values (‘John Smith’, ‘100005’, l)

 Select SchoolId, Name from SCHOOL

 Select * from SCHOOL where SchoolId > 100

 Update STUDENT set Name=’John Wayne’ where

StudentId=2

 Delete from STUDENT where SchoolId=3

Dalam penggunaannya SQL dikategorikan menjadi tiga sub perintah, yaitu :

1. DDL (Data Definition Language) : digunakan untuk membangun kerangka database

2. DML (Data Manipulation Language) : digunakan untuk memanipulasi data dalam database yang telah terbuat

3. DCL (Data Control Language) : digunakan untuk menghapus data dari tabel.

2.7 Unified Modelling Language (UML)

(13)

(Hayati, 2011). Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak dimana setiap bentuk memiliki makna tertentu, dan sintaks UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan (Dharwiyanti, S & Wahono, R.S, 2003).

Berikut adalah tabel 2.1 yang merupakan pandangan atau aspek UML dan pembagiannya sesuai dengan konsep utama yang relevan menurut Rumbaugh, et al (2005).

Tabel 2.1 Pandangan/Aspek UML

Area Pokok Aspek Diagram Konsep Utama

Struktural

Static View Diagram Kelas

(14)

Machine

Diagram Package Impor, Model, Paket

Diagram Package

Pembatas, Profil, Stereotipe, Tagged

Value

Ada beberapa model yang sering digunakan dalam pengembangan sistem perangkat lunak berbasis objek, yaitu :

2.7.1 Diagram Use Case

(15)

1. Aktor

Aktor adalah sesuatu atau seseorang yang berinteraski dengan sistem. Aktor merepresentasikan peran bukan individu dari sistem tersebut. Nama yang dipilih untuk aktor harus menyatakan peran dari aktor tersebut.

Gambar 2.6 Aktor

2. Use Case

Sebuah use case adalah cara penggunaan sistem yang spesifik oleh aktor. Use case menggambarkan suatu fungsi yang tampak.

Gambar 2.7 Use Case

3. Keterhubungan

Keterhubungan antara use case dengan use case lain berupa generalisasi antara use case tersebut, yaitu :

(16)

Gambar 2.8 Contoh diagram use case

2.7.2 Diagram Sequence

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan (Dharwiyanti, S & Wahono, R.S, 2003).

(17)

Tabel 2.2 Elemen Diagram Sequence

Nama Deskipsi Gambar

Objek Lifeline Menggambarkan batasan objek

Boundary Proses input & output ataupun antarmuka

Controller Berhubungan dengan proses

Entity Berhubungan dengan input & output data

Message Arrow Menggambarkan aliran proses data

Activation Menggambarkan aktivitas objek

Aktor Menggambarkan aktor

(18)

2.7.3 Diagram Kelas

Kelas (Class) menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi) (Dharwiyanti, S & Wahono, R.S, 2003). Kelas memiliki tiga area pokok, yaitu :

1. Nama 2. Atribut 3. Metoda

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Gambar 2.9 adalah contoh dari diagram kelas :

Gambar 2.9 Contoh diagram kelas

2.7.4 Diagram Aktivitas

(19)

Gambar

Gambar 2.1 Diagram teknik rekomendasi dan sumber pengetahuannya menurut
Gambar 2.2 merupakan komponen utama dalam data mining menurut Han & Kamber
Gambar 2.3 Langkah – langkah dalam menyusun proses KDD (Fayyad, et al.
Gambar 2.4 Tiga langkah utama dan beberapa metode dalam Data Mining.
+7

Referensi

Dokumen terkait

Alasan penggunaan metode Rare Association Rule Mining karena metode tersebut dapat digunakan untuk menemukan aturan asosiasi (association rule) antar item dalam suatu

Alasan penggunaan metode Rare Association Rule Mining karena metode tersebut dapat digunakan untuk menemukan aturan asosiasi (association rule) antar item dalam suatu

Algoritma apriori merupakan teknik data mining untuk menemukan kombinasi item dalam database, hasil dari penelitian yang dilakukan, algoritma apriori dapat mempermudah

Terbentuknya metode Asosiasi dengan algoritma apriori merupakan sebuah sistem pencarian aturan asosiasi melalui pengolahan data, kemudian dicari hubungan antar nasabah

Tujuan dari penelitian ini adalah menganalisis asosiasi rule mining dengan algoritma Apriori di dalam mencari keterhubungan feature item film yang disukai oleh seorang user

Dalam tahapan pemodelan ini akan menggunakan teknik metode data mining dengan metode association rule dengan cara menemukan aturan asosiatif atau pola kombinasi merek baju

Dengan demikian proses untuk menemukan hubungan antar item ini mungkin memerlukan pembacaan data transaksi secara berulang-ulang dalam jumlah data transaksi yang besar

Dengan analisa apriori dapat dilakukan pembentukan kombinasi item yang nantinya akan menghasilkan aturan asosiasi yang dapat menjadi pertimbangan dalam menentukan strategi penjualan