Rancang Bangun Fitur Rekomendasi Buku Menggunakan Algoritma PrefixSpan pada Sistem Peminjaman Buku Berbasis Web di Perpustakaan Universitas Ciputra
Lenny Universitas Ciputra UC Town, Citraland Surabaya 60219
[email protected]
Adi Suryaputra Universitas Ciputra UC Town, Citraland Surabaya 60219
[email protected]
ABSTRAK Perpustakaan memiliki banyak koleksi – koleksi buku yang memuat informasi – informasi yang tidak disajikan oleh internet secara detail dan menyeluruh. Akan tetapi, koleksi buku – buku yang sedemikian banyak seringkali menambah masalah tersendiri. Berdasarkan hasil survei awal, untuk meminjam buku perkuliahan, mahasiswa Universitas Ciputra cenderung bertanya kepada teman – teman yang pernah mengambil suatu mata kuliah tertentu untuk mendapatkan referensi buku apa saja yang dapat sehingga mempermudah pencarian buku di perpustakaan.¬ Penelitian ini bertujuan membuat sebuah sistem rekomendasi yang bertujuan untuk memberikan rekomendasi untuk pengguna perpustakaan mengerti buku apa saja yang sering dipinjam oleh mahasiswa – mahasiswa pada semester tertentu. Tujuan dari penulisan Penelitian adalah melakukan rancang bangun fitur rekomendasi peminjaman buku dengan menggunakan algoritma PrefixSpan pada perpustakaan Universitas Ciputra. Penerapan algoritma ini dapat merekomendasikan rata – rata sebesar 31.75% untuk mahasiswa THM dan 42.88% untuk PSY. Algoritma ini memperhitungkan urutan entry buku dalam satu transaksi sehingga hasil pengujian dapat berbeda apabila urutan entry buku dalam sebuah transaksi peminjaman berubah. Keywords: Algoritma PrefixSpan, Koleksi Buku, Perpustakaan, Sistem Rekomendasi
malas untuk memeriksa satu – per satu buku
1. PENDAHULUAN Perpustakaan
memiliki
banyak
koleksi buku yang memuat informasi yang
yang ada di dalam perpustakaan tersebut. Kendala
ini
juga
terjadi
di
tidak disajikan oleh internet secara detail
perpustakaan yang dimiliki oleh Universitas
dan menyeluruh. Akan tetapi, koleksi buku –
Ciputra. Walaupun koleksi buku yang
buku yang sedemikian banyak seringkali
dimiliki oleh perpustakaan tersebut tidak
menambah masalah tersendiri. Masalah
sebanyak
tersebut
namun jumlah buku yang dimiliki cukup
adalah,
para
pengguna
tidak
perpustakaan
besar
lainnya,
mengerti buku apa saja yang akan mereka
menimbulkan
baca. Hal ini dikarenakan mereka cenderung
pengunjungnya. Permasalahan timbul bagi
kebingungan
bagi
1 | T I M
para mahasiswa yang ingin meminjam buku
sudah menggunakan sistem katalog buku
perkuliahan di perpustakaan. Berdasarkan
yang berbasis web, dan fitur ini akan
hasil survei, diketahui bahwa sebanyak 43%
menjadi fitur tambahan di website tersebut.
mahasiswa meminjam buku perkuliahan 1-2
Perangkat lunak ini menggunakan algoritma
kali, 27% meminjam sebanyak 3-4 kali dan
PrefixSpan, karena algoritma ini dapat
23% meminjam sebanyak lebih dari 5 kali
menemukan pola sekuensial antar buku
dalam 1 semester. Di antara mahasiswa
berdasarkan jumlah frekuensi kemunculan
tersebut, 55% mengatakan bahwa mereka
buku tersebut di setiap peminjaman.
meminjam karena mengikuti saran dari
Pemilihan
algoritma
PrefixSpan
dosen dan 38% mengatakan bahwa mereka
didasarkan pada penelitian yang dilakukan
meminjam atas keinginan mereka sendiri.
oleh Leonita Kumalasari Theresia (Theresia,
Hasil survei juga menunjukkan bahwa
2010). Pada penelitian tersebut, algoritma
sebanyak
Universitas
ini digunakan untuk memprediksi pola
Ciputra cenderung bertanya kepada teman –
urutan penyakit yang diderita pada suatu
teman yang pernah mengambil suatu mata
daerah tertentu dan pada periode tertentu
kuliah tertentu untuk mendapatkan referensi
berdasarkan histori pasien rawat inap di
buku – buku apa saja yang dapat dipinjam
RSU Dr. Soetomo. Transaksi yang dianalisis
untuk mata kuliah pada semester tertentu
adalah banyaknya penyakit yang di diagnosa
untuk mempermudah pencarian buku di
oleh dokter pada satu waktu pemeriksaan
perpustakaan.
pasien rawat inap dengan melihat tanggal
58%
Penelitian
mahasiswa
ini
untuk
masuk dan tanggal keluar, tidak melihat
membuat sebuah sistem yang memberikan
waktu dari diagnosa tersebut. Oleh karena
rekomendasi
itu,
untuk
bertujuan semua
pengguna
penulis
menggunakan
algoritma
perpustakaan akan buku – buku apa saja
PrefixSpan
yang sering dipinjam oleh mahasiswa –
perpustakaan Universitas Ciputra memiliki
mahasiswa pada semester tertentu. Sistem
kemiripan
rekomendasi yang dibuat didasarkan pada
penelitian yang telah diakukan oleh Leonita,
histori dari peminjaman yang pernah terjadi
yaitu satu transaksi memiliki banyak item.
di
Selain
perpustakaan
Universitas
Ciputra.
itu,
karena dengan
penulis
pola pola
transaksi transaksi
menggunakan
di dari
dua
Perangkat lunak ini dibuat berbasis web,
parameter yaitu progdi dan semester dengan
karena perpustakaan Universitas Ciputra
tujuan membagi histori transaksi. Dari 2 | T I M
parameter
ini,
PrefixSpan
penulis
untuk
menggunakan
membuat
sistem
Universitas Ciputra mulai dari tahun 2006 – 2010.
Sistem
rekomendasi
ini
rekomendasi dengan berdasarkan histori
merekomendasikan buku berdasarkan pola
transaksi yang telah dibagi tadi. PrefixSpan
peminjaman mahasiswa tanpa melihat jenis
merupakan
buku yang dipinjam dengan minimum
salah
satu
algoritma
pengembangan dari algoritma apriori (Han,
support
et.al.
mengikuti
2004).
Walaupun
algoritma
ini
yang
digunakan
minimum
adalah
support
dua yang
membutuhkan memori yang lebih besar dari
digunakan pada jurnal referensi (Theresia,
algoritma SPADE dan GSP, algoritma ini
2010). Aplikasi yang dibuat tidak sampai
memiliki kelebihan dalam skalabilitas dan
pengintegrasian
performa.
Kelebihan
rekomendasi dengan sistem perpustakaan
dimiliki
oleh
skalabilitas
PrefixSpan
yang adalah
dan
pemeliharaan
fitur
Universitas Ciputra
kemampuannya untuk mencakup basis data dalam jumlah besar dan waktu eksekusi
2.
yang cepat membuat performa algoritma ini
CIPUTRA
PERPUSTAKAAN
lebih baik dari algoritma yang lain (Pei,
Perpustakaan
UNIVERSITAS
Universitas
Ciputra
et.al. 2004). Hal ini dapat diterapkan pada
adalah salah satu fasilitas yang ada di
perpustakaan Universitas Ciputra dengan
Universitas Ciputra dimana para mahasiswa
berdasarkan data peminjaman buku.
maupun staf dapat meminjam buku dari
Batasan masalah dari aplikasi yang
koleksi yang ada di perpustakaan tersebut.
akan dibuat pada penelitian ini yaitu
Didalam proses peminjaman, para staf
perangkat lunak ini dibuat dengan bahasa
maupun mahasiswa harus menunjukkan
pemograman Java dan PHP. Untuk database
kartu
server menggunakan database MYSQL.
kemudian akan dicatat dalam transaksi
Penelitian ini mengasumsikan bahwa setiap
peminjaman.
mahasiswa mengambil mata kuliah sesuai
peminjaman tidaklah merata untuk setiap
dengan semester dari mahasiswa tersebut
jurusan, hal ini bisa jadi disebabkan karena
tanpa memperhitungkan mahasiswa cuti,
ada
mengulang mata kuliah, atau mengambil
transaksi
terlebih dahulu dengan data simulasi yaitu
Apabila member dari perpustakaan ingin
peminjaman mahasiswa dari perpustakaan
memperpanjang peminjaman suatu buku,
identitas
satu
mahasiswa / Jumlah
jurusan
transaksi
yang
peminjaman
staf dan yang
mendominasi
setiap
bulannya.
3 | T I M
maka anggota tersebut harus datang ke
rekomendasi
perpustakaan
menambah minat mahasiswa untuk lebih
dan
melakukan
proses
ini
diharapkan
perpanjangan peminjaman buku. Dalam
sering
proses
perpustakaan Universitas Ciputra.
ini,
anggota
menunjukkan
kartu
diminta
untuk
identitasnya
lagi.
Setelah selesai membaca buku tersebut,
meminjam
buku
dapat
yang
ada
di
3. DIAGRAM RELASI ENTITAS PERPUSTAKAAN UNIVERSITAS
maka anggota dapat melakukan proses
CIPUTRA
pengembalian buku. Dimana dalam proses ini, anggota datang ke perpustakaan Ciputra dan langsung mengembalikan buku kepada staf perpustakaan tanpa harus menunjukkan kartu identitas. Berdasarkan hasil survei mahasiswa Universitas Ciputra, dapat diketahui bahwa mahasiswa tersebut meminjam buku – buku perkuliahan karena mengikuti saran dari dosen suatu mata kuliah tertentu. Di dalam pencarian
buku
perkuliahan
tersebut,
responden akan cenderung menanyakan referensi
akan buku
lain
yang
dapat
digunakan kepada teman yang pernah mengikuti mata kuliah tertentu jika buku perkuliahan tersebut tidak ada di dalam perpustakaan.
Dengan
adanya
sistem
rekomendasi buku ini diharapkan para mahasiswa
akan
lebih
mudah
dalam
Gambar 1: Diagram Relasi Entitas
menentukan buku alternatif lain yang dapat
Penelitian ini menggunakan 4 tabel dari
mereka pinjam berdasarkan kebiasaan pola
basis data perpustakaan Universitas Ciputra,
peminjaman yang dilakukan oleh mahasiswa
yaitu:
angkatan atas berdasarkan semester dimana mahasiswa tersebut berada. Selain itu sistem 4 | T I M
Tabel User
t_copy_members
Tabel user menyimpan semua username
yang digunakan adalah MEMBER_ID
dan password dari member perpustakaan
dan ITEM_ID.
Universitas Ciputra. Tabel user terdiri dari username dan password dari tiap pengguna tersebut.
4. FITUR REKOMENDASI MENGGUNAKAN ALGORITMA Pada
Tabel v_member member
perpustakaan
Ciputra.
Dalam
Universitas
pembuatan
fitur
rekomendasi buku, tidak semua atribut dari tabel v_member digunakan, atribut yang digunakan adalah code dan progdi.
digunakan
sistem
rekomendasi
algoritma
PrefixSpan
ini, yang
melihat frekuensi transaksi peminjaman di perpustakaan Universitas Ciputra. Input dari sistem
ini
akan
diambil
dari
histori
peminjaman dari tiap member. Proses pengambilan
data
ini
dimulai
dengan
mengubah database menjadi sebuah sekuens yang akan diolah lebih lanjut. Langkah
Tabel M_LIBRARY_COLLECTIONS Table
M_LIBRARY_COLLECTIONS
menyimpan data bahan pustaka yang dikoleksi oleh perpustakaan. Dalam pembuatan fitur rekomendasi buku, tidak semua
atribut
dari
tabel
M_LIBRARY_COLLECTIONS digunakan,
atribut
yang
digunakan
adalah ITEM_ID dan TITLE_1.
selanjutnya
Table
t_copy_members
semua
transaksi di
menentukan
nilai
sekuens yang telah jadi akan dilihat semua itemnya apakah tingkat kemunculan item tersebut telah memenuhi minimum support. Apabila tidak memenuhi nilai minimum support yang telah ditentukan, maka item tersebut akan dieliminasi. akhirnya,
akan
terbentuk
sekuens baru dimana semua item yang ada
Tabel t_copy_members
terjadi
adalah
minimum support. Setelah itu, sekuens –
Pada
atribut
PREFIXSPAN
Tabel v_member menyimpan semua data
digunakan,
menyimpan
peminjaman
perpustakaan.
yang Dalam
didalamnya ada item – item yang telah memenuhi nilai minimum support yang telah
ditentukan.
Langkah
selanjutnya
pembuatan fitur rekomendasi buku, tidak
adalah mulai mencari projected database
semua
dari tiap item yang telah memenuhi nilai
atribut
dari
tabel
5 | T I M
minimum support. Langkah ini akan terus
Berikut ini adalah penjabaran lebih
berulang hingga tidak ada lagi item yang ada
jelas
di dalam projected database yang memenuhi
digunakan untuk mengolah data transaksi
minimum support. Hasil dari PrefixSpan
peminjaman dari perpustakaan Universitas
akan berupa data buku – buku apa saja yang
Ciputra. Dalam hal ini akan digunakan
relevan dengan buku yang pernah dipinjam
contoh
oleh member tersebut. Hasil ini dilihat dari
sebanyak 4 mahasiswa.
item (id buku) yang telah memenuhi minimum
support
dan
telah
dihitung
sehingga menghasilkan sequential pattern yang
sesuai.
Secara
singkat
proses
pengolahan rekomendasi ini dapat dilihat pada gambar 2.
akan
langkah
transaksi
–
dari
langkah
jurusan
yang
“IFT”
4.1. Pra-proses Pembuatan Input Proses ini terbagi menjadi 3 langkah yaitu : 1. Input dari algoritma PrefixSpan adalah sebuah kumpulan dari sekuens yang diambil
database
yang
kemudian
diproses lebih lanjut oleh PrefixSpan. Untuk membuat input tersebut, sistem ini akan melihat terlebih dahulu semester dan progdi dari pengguna yang sedang login.
Selanjutnya
transaksi
yang
diambil hanya transaksi yang dilakukan oleh angkatan atas dengan batas tanggal peminjaman yaitu tanggal awal angkatan tersebut masuk ke Universitas Ciputra hingga tanggal dimana angkatan tersebut berada pada semester yang sama dengan pengguna yang sedang login. Contoh dari database peminjaman jika pengguna yang login adalah “20109001”. Dari NIM tersebut dapat diketahui bahwa pengguna merupakan anak jurusan IFT Gambar 2: Flowchart Pengolahan Sistem Rekomendasi
dan akan memasuki semester 7. Data yang akan diambil merupakan transaksi peminjaman angkatan atas dari awal 6 | T I M
masuk
hingga
semester
7.
Tabel
transaksi,
dan
-2
digunakan
untuk
transaksi peminjaman dapat dilihat pada
menunjukkan bahwa transaksi dari setiap
tabel 1.
pengguna telah selesai. Hasil bentukan string yang dibuat oleh sistem untuk
Tabel 1: Tabel Transaksi Peminjaman
Tanggal Peminjaman 21-09-2006 24-01-2007 24-01-2007 21-06-2009 05-08-2009 09-05-2007 10-03-2008 10-03-2008 15-08-2009 18-10-2009 13-07-2007 19-01-2008 19-01-2008 28-10-2009 24-11-2009 15-09-2010 10-07-2008 14-08-2009 02-11-2009 24-02-2010 24-02-2010 03-10-2011
ID Pengguna 20106004 20106004 20106004 20106004 20106004 20106008 20106008 20106008 20106008 20106008 20107021 20107021 20107021 20107021 20107021 20107021 20108008 20108008 20108008 20108008 20108008 20108008
semua pengguna adalah :
ID Buku 56 745 760 203 6632 10241 4842 56 203 6632 104 9352 9388 6632 46 203 8057 104 844 4842 7872 203
0 : 56 -1 745 760 -1 203 -1 6632 -2 1 : 10241 -1 4842 56 -1 203 -1 6632 -2 2 : 104 -1 9352 9388 -1 6632 -1 46 -1 203 -2 3 : 8057 -1 104 -1 844 -1 4842 7872 -1 203 -2 3. Bentukan string tersebut kemudian akan diubah menjadi kumpulan sekuens(S|α) dari semua pengguna. Pembentukan ini mengubah tanda -1 menjadi “( )” dan pembentukan struktur sekuens untuk mempermudah
semua
pengguna,
sistem
Struktur
tersebut dapat dilihat pada gambar 3.
2. Setelah mendapatkan histori peminjaman dari
pengerjaan.
Gambar 3: Struktur kumpulan sequence (S|α)
akan
membuat sekuens untuk semua pengguna
Secara singkat pra-proses pembuatan
tersebut
input dapat dilihat pada gambar 4.
dalam
bentuk
string
dipisahkan oleh -1 dan -2. Dimana digunakan
untuk
membedakan
yang -1 antar
7 | T I M
(frequent). Tingkat kemunculan untuk tiap item dapat dilihat pada tabel 2. Tabel 2: Tabel Minimum Support Setiap Item
Item 203 6632 56 104 4842 46 743 760 844 7872 8057 9352 9388 10241
Tingkat Kemunculan 4 3 2 2 2 1 1 1 1 1 1 1 1 1
Dari tabel 2 dapat dilihat bahwa adanya item – item yang memiliki tingkat kemunculan dibawah minimum, sehingga Gambar 4: Flowchart Pra-proses Pembuatan Input
sekuens yang baru. Setelah melakukan
4.2. Proses Optimalisasi Sistem akan melakukan optimalisasi kumpulan sekuens dengan membuang item – item yang berada dibawah minimum support yang telah ditentukan. Dalam hal ini minimum support adalah 50% dari jumlah kumpulan sekuens yaitu dua. Hal ini berarti setiap
item
harus
item tersebut tidak dipakai dalam kumpulan
memiliki
tingkat
pengoptimalisasian, dihasilkan kumpulan sekuens baru yang digunakan sebagai input dari PrefixSpan yaitu: 0 : (56) (203 ) (6632) 1 : (4842 56) (203) (6632) 2 : (104) (6632) (203) 3 : (104) (4842) (203)
kemunculan sebanyak dua untuk dapat dikatakan
sebagai
item
yang
optimal
Secara singkat proses optimalisasi dapat dilihat pada gambar 5.
8 | T I M
1. Mencari index tempat kemunculan item 56 pada kumpulan sekuens. Proses ini dapat dilihat pada gambar 6.
Gambar 6: Index Tempat Kemunculan Item 56
2. Setelah mengetahui index tersebut, akan diambil item – item yang berada di index setelah item 56 untuk dijadikan sebagai kumpulan projected sekuens(S|α’) dari item 56. hasil dari pengambilan dapat dilihat pada gambar 4.5.
Gambar 7: Pengambilan Item Untuk Projected Gambar 5: Flowchart Proses Optimalisasi
Sequence
4.3. Proses Pembuatan Projected Sekuens
3. Hasil dari projected sekuens item 56 adalah <(203)(6632)> <(203)(6632)>.
(α’) Pada proses ini projected sekuens
Hal ini juga berlaku bagi item-item yang
akan dibuat dengan menggunakan item
lain. Hasil pembuatan projected sekuens
dimana untuk setiap item akan dicari semua
untuk setiap item dapat dilihat pada tabel 3.
sekuens yang memiliki awalan dari item tersebut. Sebagai contoh, proses pembuatan projected sekuens dari item 56 dapat dijelaskan sebagai berikut:
9 | T I M
Tabel 3: Tabel Pembuatan Projected Sequence Setiap Item
Item
Projected Sekuens
56
203 4842
<(203)(6632)> <(203)(6632)> <(6632)(203)> <(4842)(203)> <(6632)> <(6632)> <(_56)(203)(6632)>
6632
<(203)>
104
Secara singkat proses pembuatan projected sekuens dapat dilihat pada gambar 8.
4.4. Proses Pembuatan Pola Sekuensial (Sequential Pattern ) Proses
ini
dimulai
dengan
menjalankan fungsi pengulangan (recursive) untuk mencari item – item yang dapat dipasangkan dengan masing – masing item. Sebagai contoh akan dijelaskan proses pembuatan pola sekuensial untuk item 56. Proses ini dapat dijelaskan menjadi beberapa langkah yaitu: 1. Mendaftar item – item yang ada di dalam projected sekuens dari item 56 yaitu: <(203)(6632)> <(203)(6632)> 2. Menghitung tingkat kemunculan dari masing – masing item yang ada di dalam projected
sekuens
item
d.
Hasil
penghitungan dapat dilihat pada tabel 4. Tabel 4: Tabel penghitungan tingkat kemunculan
Item
Tingkat Kemunculan
203
2
6632
2
3. Dari hasil pada tabel 4.4, item 203 dan 6632 telah memenuhi minimum support sehingga item 203 dan 6632 akan digabungkan dengan item 56 menjadi Gambar 8: Flowchart Proses Pembuatan Projected
<(56)(203)> <(56) (6632)>.
Sequence
10 | T I M
4. Setiap item baru yaitu <(56)(203)> dan <(56) (6632)> akan dicari projected sekuensnya
berdasarkan
projected
sekuens yang lama yaitu : <(203)(6632)> <(203)(6632)> 5. Proses untuk membuat projected sekuens dari item <(56)(203)> dan <(56) (6632)> akan mengulangi langkah – langkah pada sub bab 3.3.2.3 yang kemudian dilanjutkan dengan menjalankan langkah – langkah pada sub bab 3.3.2.4. Sistem akan mengulangi hal yang sama hingga tidak ada lagi projected sekuens yang dapat dibentuk. Hal ini juga berlaku bagi item-item yang lain. Hasil pembuatan pola sekuensial untuk setiap item dapat dilihat pada tabel 5. Tabel 5: Tabel Hasil Pembuatan Pola Sekuensial
Item
Projected Sekuens
56
203
<(203)(6632)> <(203)(6632)> <(6632)(203)> <(4842)(203)> <(6632)> <(6632)>
4842
<(_56)(203)(6632)> -
6632
<(203)>
104
Sequential Patterns <(56)(203)> <(56) (6632)> <(104)(203)> <(203)(6632)>
-
Gambar 9: Flowchart Proses Pembuatan Pola Sekuensial
4.5. Proses Pengolahan Pola Sekuensial Proses
ini
dimulai
dengan
mengambil hasil pola sekuensial yang sudah dibuat oleh algoritma PrefixSpan yaitu <(56)(203)>, <(56)(6632)>, <(203)(6632)>, <(104)(203)>. dijelaskan
Sebagai proses
contoh
akan
pengolahan
pola
Secara singkat proses pembuatan pola
sekuensial untuk item 56. Proses ini dapat
sekuensial dapat dilihat pada gambar 9.
dijelaskan menjadi beberapa langkah yaitu: 11 | T I M
1. Memeriksa apakah hasil rekomendasi dari tiap – tiap item pernah dipinjam oleh angkatan atas pada semester itu atau tidak.
Dari
pemeriksaan
ini
dapat
diketahui bahwa item 6632 pernah dipinjam oleh angkatan 2006 dan 2007 disaat mereka semester 7. Sedangkan item 203 pernah dipinjam oleh angkatan 2006, 2007, dan 2008 pada saat mereka semester 7. 2. Hasil rekomendasi yang pernah dipinjam akan dihitung tingkat confidencenya. Hasil dari tingkat confidence dihitung dengan
membandingkan
jumlah
kemunculan pola sekuensial dengan jumlah kemunculan item tersebut dalam transaksi. Tingkat confidence dari item 203 adalah 2/2 yaitu 1. dan tingkat confidence dari item 6632 adalah 2/2 yaitu 1.
Gambar 10: Flowchart Proses Pengolahan Pola
3. Setelah mendapatkan tingkat confidence
Sekuensial
dari tiap pola sekuensial, selanjutnya akan dilakukan pengurutan berdasarkan
4.6. Proses Penampilan Data
tingkat confidence.
Rekomendasi di PHP
4. Hasil dari pola sekuensial akan disimpan
Proses
ini
dimulai
dengan
kedalam txt dengan format. Item-hasil
mengambil hasil pola sekuensial dari file txt.
rekomendasi@tingkat
Kemudian hasil ini akan dibentuk menjadi
confidence,
contoh “56-203@1,6632@1,”
dua kelas untuk mempermudah pengerjaan
Secara singkat proses pengolahan pola
yaitu kelas pojo dan kumpulanPojo. Dimana
sekuensial dapat dilihat pada gambar 10.
pojo
berisi
item
beserta
dengan
rekomendasinya, sedangkan kumpulanPojo 12 | T I M
adalah
kumpulan
dari
kelas
pojo.
Selanjutnya kita mengambil data transaksi peminjaman dari pengguna yang sedang login. Proses ini dapat dijelaskan menjadi beberapa langkah yaitu: 1. Memeriksa apakah buku yang pernah dipinjam memiliki rekomendasi atau tidak. Jika terdapat rekomendasi untuk buku
tersebut
maka
proses
akan
dilanjutkan, apabila tidak maka akan di periksa lagi untuk item – item yang lain. 2. Memeriksa
apakah
buku
hasil
rekomendasi termasuk dalam buku yang pernah dipinjam oleh pengguna. Jika terdapat buku rekomendasi yang pernah dipinjam oleh pengguna, maka buku tersebut tidak akan ditampilkan dalam hasil
rekomendasi
untuk
pengguna
tersebut.
Gambar 10: Flowchart Proses Penampilan Data Rekomendasi di PHP
3. Setelah langkah 1 dan 2 dilakukan untuk setiap buku, hasil rekomendasi akan
5. PENGUJIAN KEGUNAAN
ditampilkan di dalam tabel.
ALGORITMA
Secara singkat proses pembuatan pola sekuensial dapat dilihat pada gambar 10.
Sub bab ini menjelaskan mengenai pengujian
yang
dilakukan
untuk
membuktikan kegunaan sistem rekomendasi berdasarkan data peminjaman mahasiswa jurusan THM dan PSY. 5.1.Tujuan Pengujian Tujuan dari pengujian ini adalah untuk membuktikan kegunaan dengan cara membandingkan hasil dari rekomendasi dan 13 | T I M
data
pembanding
yaitu
transaksi
peminjaman pada bulan Januari – Juni 2011 dan peminjaman pada bulan Juli – Desember 2011.
Januari 2011 – 30 Juni 2011 Tabel 6. Tabel Hasil Pengujian THM Periode Pertama
5.2.Data Pengujian Transaksi peminjaman jurusan THM dan
dibagi berdasarkan jurusan dan periode 1
PSY
yang
ada
di
perpustakaan
Pengguna (1 Januari 2011 – 30 Juni 2011)
Hasil rekomen dasi 50%
Buku yang dipinjam (1 Januari 2011 – 30 Juni 2011)
Tingkat kegunaan
10208021 10208026
7267 106
0 20
10208030
106
10209021
784
10209046 10209061
784 784
6780 314, 106, 290, 129, 8185 10139, 3063, 10018, 5772, 106 5227, 5228, 784 4160, 784 3463, 784, 5227, 446
Universitas Ciputra hingga akhir desember 2010 akan digunakan sebagai data input. Transaksi peminjaman pada bulan januari – juni 2011 dan peminjaman pada bulan juli – desember 2011 akan digunakan sebagai data pembanding. 5.3.Skenario Pengujian Skenario pengujian yang dilakukan adalah
dengan
cara
mengambil
data
peminjaman semua mahasiswa berdasarkan jurusan pada periode tertentu dan dibuktikan kegunaannya dengan cara membandingkan
Rata - rata
rekomendasi akibat peminjaman buku – buku yang pernah dilakukan oleh mahasiswa tersebut dengan minimum support sebanyak 2
[12]
dan confidence level sebesar 50%
Pertama
Pengguna
Hasil
Buku yang
Tingkat
(1 Januari
rekomend
dipinjam
keguna
2011 – 30
asi
(1 Januari
an
juni 2011)
50%
2011 – 30 Juni 2011)
30108001
3121
30108003
5805
5.4. Hasil Pengujian Kegunaan dari Algoritma PrefixSpan Berikut ini adalah hasil pengujian untuk kegunaan dari algoritma PrefixSpan
50 25 29.67%
[12]
untuk setiap jurusan.
33.33
Tabel 7. Tabel Hasil Pengujian PSY Periode
apakah buku yang dipinjam oleh mahasiswa pada periode tersebut merupakan hasil
20
7630, 8328, 10337, 3121, 8081 5805, 8081, 7630, 9022, 8026, 6342, 7630, 7333,
20
11.11
14 | T I M
30108011
30108012
30109009
30109010
30109011
30109012
30110001 30110021
5160
5160
3359, 4748, 2522, 4572 3359, 5563, 4748, 3772, 3770 3450, 3772, 3770, 3359 3359, 4967, 5761, 4267, 5563, 4748, 3450, 3772, 3770 4490 3772, 4414
30110028
3569, 600, 3379
30110036
561, 3599
30110039
4409, 561
9515 7779, 9137, 5805, 563, 5160 5012, 4447, 7907, 8081, 5012, 5160, 6342, 6730, 6495 4572, 4681, 5563, 6558, 3359 3772, 3359
4923, 3357, 2132, 561 4739, 561, 3495, 9249, 6558
20 30110040
561
10 Rata – rata
5.5. 40
Analisis
20
34.19%
Pengujian
Kegunaan
Algoritma Meskipun hasil survei awal pada sub bab
100
3.1.3
menyatakan
sebanyak
58%
mahasiswa Universitas Ciputra mengatakan bahwa
mereka
akan
meminjam
buku
berdasarkan referensi dari teman yang 5563, 4763, 7913, 3770, 5295, 3450
33.33
3359, 3770, 9231, 4748, 4571
60
pernah
mengambil
suatu
mata
kuliah
tertentu, akan tetapi hasil pengujian oleh sistem pada 2 periode yaitu 1 januari 2011 – 30 juni 2011 dan 1 juli 2011 – 31 desember 2011 mampu merekomendasikan rata – rata sebesar 31.75% untuk mahasiswa THM dan 42.88% untuk PSY. Algoritma PrefixSpan melihat urutan dari
4833, 4490, 3357, 602 9240, 4206, 3772, 4945, 4942, 4414, 2514 572, 600, 3569, 3379, 5055 561, 3987, 4003, 8226, 602, 3599 4409, 5222,
25 28.57
histori
peminjaman
berdasarkan
tanggal, sedangkan dalam 1 transaksi yang terjadi bisa saja ada beberapa buku yang dipinjam dan urutan itu akan berpengaruh pada hasil dari algoritma ini. Hasil dari
60
33.33
algoritma PrefixSpan sangat bergantung pada urutan entry buku yang ada dalam satu transaksi. Karena urutan entry buku yang berbeda akan menghasilkan rekomendasi yang berbeda juga.
33.33 15 | T I M
6. KESIMPULAN DAN SARAN Berdasarkan hasil dari perancangan hingga implementasi yang telah dilakukan, dapat disimpulkan bahwa:
tersebut.
pengujian
diatas
dapat
berbeda apabila urutan entry buku dalam sebuah transaksi peminjaman berubah. 2. Hasil dari algoritma PrefixSpan sangat bergantung
pola
orang
yang
tercipta
di
dalam
sistem
rekomendasi akan semakin besar.
urutan entry buku dalam satu transaksi hasil
sering
meminjam suatu buku tertentu maka pola
1. Algoritma PrefixSpan memperhitungkan maka
Semakin
peminjaman
yang
dilakukan oleh pengguna perpustakaan
Berikut saran yang diberikan oleh penulis mengenai penelitian lebih lanjut untuk Penelitian ini, yaitu; untuk membuat sistem rekomendasi buku pada perpustakaan Universitas Ciputra, dapat pula digunakan algoritma lain baik menggunakan pola sekuensial maupun pola lainnya sehingga hasil yang didapat lebih akurat.
7. DAFTAR PUSTAKA Han, J., Pei, J., Yin, Y. 2004. “Mining Frequent Patterns without Candidate Generation”. Kluwer Academic Publishers. Netherlands. Pei, J., Han, J., Mortazavi-Asl, B., Wang, J., Pinto, H., Chen, Q., Dayal, U., Hsu, M. 2004. Mining Sequential Pattern by Pattern-Growth: The PrefixSpan Approach. IEEE Transactions On Knowledge And Data Engineering vol. 16 No. 10. Theresia, L. K. 2010. Disease Track Record Analysis at Dr. Soetomo General Hospital Using PrefixSpan Algoritm. Universitas Kristen Petra: Surabaya
16 | T I M