Rancang Bangun Fitur Rekomendasi Buku Menggunakan Algoritma
PrefixSpan pada Sistem Peminjaman Buku Berbasis Web di Perpustakaan
Universitas Ciputra
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
1. PENDAHULUAN
Perpustakaan memiliki banyak koleksi buku yang memuat informasi yang tidak disajikan oleh internet secara detail dan menyeluruh. Akan tetapi, koleksi buku – buku yang sedemikian banyak seringkali menambah masalah tersendiri. Masalah tersebut adalah, para pengguna tidak mengerti buku apa saja yang akan mereka baca. Hal ini dikarenakan mereka cenderung
malas untuk memeriksa satu – per satu buku yang ada di dalam perpustakaan tersebut.
Kendala ini juga terjadi di perpustakaan yang dimiliki oleh Universitas Ciputra. Walaupun koleksi buku yang dimiliki oleh perpustakaan tersebut tidak sebanyak perpustakaan besar lainnya, namun jumlah buku yang dimiliki cukup menimbulkan kebingungan bagi pengunjungnya. Permasalahan timbul bagi Lenny Universitas Ciputra UC Town, Citraland Surabaya 60219 [email protected] Adi Suryaputra Universitas Ciputra UC Town, Citraland Surabaya 60219 [email protected]
para mahasiswa yang ingin meminjam buku perkuliahan di perpustakaan. Berdasarkan hasil survei, diketahui bahwa sebanyak 43% mahasiswa meminjam buku perkuliahan 1-2 kali, 27% meminjam sebanyak 3-4 kali dan 23% meminjam sebanyak lebih dari 5 kali dalam 1 semester. Di antara mahasiswa tersebut, 55% mengatakan bahwa mereka meminjam karena mengikuti saran dari dosen dan 38% mengatakan bahwa mereka meminjam atas keinginan mereka sendiri. Hasil survei juga menunjukkan bahwa sebanyak 58% mahasiswa Universitas Ciputra cenderung bertanya kepada teman – teman yang pernah mengambil suatu mata kuliah tertentu untuk mendapatkan referensi buku – buku apa saja yang dapat dipinjam untuk mata kuliah pada semester tertentu untuk mempermudah pencarian buku di perpustakaan.
Penelitian ini bertujuan untuk membuat sebuah sistem yang memberikan rekomendasi untuk semua pengguna perpustakaan akan buku – buku apa saja yang sering dipinjam oleh mahasiswa – mahasiswa pada semester tertentu. Sistem rekomendasi yang dibuat didasarkan pada histori dari peminjaman yang pernah terjadi di perpustakaan Universitas Ciputra. Perangkat lunak ini dibuat berbasis web, karena perpustakaan Universitas Ciputra
sudah menggunakan sistem katalog buku yang berbasis web, dan fitur ini akan menjadi fitur tambahan di website tersebut. Perangkat lunak ini menggunakan algoritma PrefixSpan, karena algoritma ini dapat menemukan pola sekuensial antar buku berdasarkan jumlah frekuensi kemunculan buku tersebut di setiap peminjaman.
Pemilihan algoritma PrefixSpan didasarkan pada penelitian yang dilakukan oleh Leonita Kumalasari Theresia (Theresia, 2010). Pada penelitian tersebut, algoritma ini digunakan untuk memprediksi pola urutan penyakit yang diderita pada suatu daerah tertentu dan pada periode tertentu berdasarkan histori pasien rawat inap di RSU Dr. Soetomo. Transaksi yang dianalisis adalah banyaknya penyakit yang di diagnosa oleh dokter pada satu waktu pemeriksaan pasien rawat inap dengan melihat tanggal masuk dan tanggal keluar, tidak melihat waktu dari diagnosa tersebut. Oleh karena itu, penulis menggunakan algoritma PrefixSpan karena pola transaksi di perpustakaan Universitas Ciputra memiliki kemiripan dengan pola transaksi dari penelitian yang telah diakukan oleh Leonita, yaitu satu transaksi memiliki banyak item. Selain itu, penulis menggunakan dua parameter yaitu progdi dan semester dengan tujuan membagi histori transaksi. Dari
parameter ini, penulis menggunakan PrefixSpan untuk membuat sistem rekomendasi dengan berdasarkan histori transaksi yang telah dibagi tadi. PrefixSpan merupakan salah satu algoritma pengembangan dari algoritma apriori (Han, et.al. 2004). Walaupun algoritma ini membutuhkan memori yang lebih besar dari algoritma SPADE dan GSP, algoritma ini memiliki kelebihan dalam skalabilitas dan performa. Kelebihan skalabilitas yang dimiliki oleh PrefixSpan adalah kemampuannya untuk mencakup basis data dalam jumlah besar dan waktu eksekusi yang cepat membuat performa algoritma ini lebih baik dari algoritma yang lain (Pei, et.al. 2004). Hal ini dapat diterapkan pada perpustakaan Universitas Ciputra dengan berdasarkan data peminjaman buku.
Batasan masalah dari aplikasi yang akan dibuat pada penelitian ini yaitu perangkat lunak ini dibuat dengan bahasa pemograman Java dan PHP. Untuk database server menggunakan database MYSQL. Penelitian ini mengasumsikan bahwa setiap mahasiswa mengambil mata kuliah sesuai dengan semester dari mahasiswa tersebut tanpa memperhitungkan mahasiswa cuti, mengulang mata kuliah, atau mengambil terlebih dahulu dengan data simulasi yaitu peminjaman mahasiswa dari perpustakaan
Universitas Ciputra mulai dari tahun 2006 – 2010. Sistem rekomendasi ini merekomendasikan buku berdasarkan pola peminjaman mahasiswa tanpa melihat jenis buku yang dipinjam dengan minimum support yang digunakan adalah dua mengikuti minimum support yang digunakan pada jurnal referensi (Theresia, 2010). Aplikasi yang dibuat tidak sampai pengintegrasian dan pemeliharaan fitur rekomendasi dengan sistem perpustakaan Universitas Ciputra
2. PERPUSTAKAAN UNIVERSITAS CIPUTRA
Perpustakaan Universitas Ciputra adalah salah satu fasilitas yang ada di Universitas Ciputra dimana para mahasiswa maupun staf dapat meminjam buku dari koleksi yang ada di perpustakaan tersebut. Didalam proses peminjaman, para staf maupun mahasiswa harus menunjukkan kartu identitas mahasiswa / staf dan kemudian akan dicatat dalam transaksi peminjaman. Jumlah transaksi yang peminjaman tidaklah merata untuk setiap jurusan, hal ini bisa jadi disebabkan karena ada satu jurusan yang mendominasi transaksi peminjaman setiap bulannya. Apabila member dari perpustakaan ingin memperpanjang peminjaman suatu buku,
maka anggota tersebut harus datang ke perpustakaan dan melakukan proses perpanjangan peminjaman buku. Dalam proses ini, anggota diminta untuk menunjukkan kartu identitasnya lagi. Setelah selesai membaca buku tersebut, maka anggota dapat melakukan proses 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 menentukan buku alternatif lain yang dapat mereka pinjam berdasarkan kebiasaan pola peminjaman yang dilakukan oleh mahasiswa angkatan atas berdasarkan semester dimana mahasiswa tersebut berada. Selain itu sistem
rekomendasi ini diharapkan dapat menambah minat mahasiswa untuk lebih sering meminjam buku yang ada di perpustakaan Universitas Ciputra.
3. DIAGRAM RELASI ENTITAS PERPUSTAKAAN UNIVERSITAS CIPUTRA
Gambar 1: Diagram Relasi Entitas
Penelitian ini menggunakan 4 tabel dari basis data perpustakaan Universitas Ciputra, yaitu:
Tabel User
Tabel user menyimpan semua username dan password dari member perpustakaan Universitas Ciputra. Tabel user terdiri dari username dan password dari tiap pengguna tersebut.
Tabel v_member
Tabel v_member menyimpan semua data member perpustakaan Universitas Ciputra. Dalam pembuatan fitur rekomendasi buku, tidak semua atribut dari tabel v_member digunakan, atribut yang digunakan adalah code dan progdi. 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.
Tabel t_copy_members
Table t_copy_members menyimpan semua transaksi peminjaman yang terjadi di perpustakaan. Dalam pembuatan fitur rekomendasi buku, tidak semua atribut dari tabel
t_copy_members digunakan, atribut yang digunakan adalah MEMBER_ID dan ITEM_ID.
4. FITUR REKOMENDASI MENGGUNAKAN ALGORITMA PREFIXSPAN
Pada sistem rekomendasi ini, digunakan algoritma PrefixSpan 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 selanjutnya adalah menentukan nilai minimum support. Setelah itu, sekuens – 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.
Pada akhirnya, akan terbentuk sekuens baru dimana semua item yang ada didalamnya ada item – item yang telah memenuhi nilai minimum support yang telah ditentukan. Langkah selanjutnya adalah mulai mencari projected database dari tiap item yang telah memenuhi nilai
minimum support. Langkah ini akan terus berulang hingga tidak ada lagi item yang ada di dalam projected database yang memenuhi minimum support. Hasil dari PrefixSpan akan berupa data buku – buku apa saja yang relevan dengan buku yang pernah dipinjam oleh member tersebut. Hasil ini dilihat dari 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.
Gambar 2: Flowchart Pengolahan Sistem Rekomendasi
Berikut ini adalah penjabaran lebih jelas akan langkah – langkah yang digunakan untuk mengolah data transaksi peminjaman dari perpustakaan Universitas Ciputra. Dalam hal ini akan digunakan contoh transaksi dari jurusan “IFT” sebanyak 4 mahasiswa.
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 dan akan memasuki semester 7. Data yang akan diambil merupakan transaksi peminjaman angkatan atas dari awal
masuk hingga semester 7. Tabel transaksi peminjaman dapat dilihat pada tabel 1.
Tabel 1: Tabel Transaksi Peminjaman Tanggal Peminjaman ID Pengguna ID Buku 21-09-2006 20106004 56 24-01-2007 20106004 745 24-01-2007 20106004 760 21-06-2009 20106004 203 05-08-2009 20106004 6632 09-05-2007 20106008 10241 10-03-2008 20106008 4842 10-03-2008 20106008 56 15-08-2009 20106008 203 18-10-2009 20106008 6632 13-07-2007 20107021 104 19-01-2008 20107021 9352 19-01-2008 20107021 9388 28-10-2009 20107021 6632 24-11-2009 20107021 46 15-09-2010 20107021 203 10-07-2008 20108008 8057 14-08-2009 20108008 104 02-11-2009 20108008 844 24-02-2010 20108008 4842 24-02-2010 20108008 7872 03-10-2011 20108008 203 2. Setelah mendapatkan histori peminjaman
dari semua pengguna, sistem akan membuat sekuens untuk semua pengguna tersebut dalam bentuk string yang dipisahkan oleh -1 dan -2. Dimana -1 digunakan untuk membedakan antar
transaksi, dan -2 digunakan untuk menunjukkan bahwa transaksi dari setiap pengguna telah selesai. Hasil bentukan string yang dibuat oleh sistem untuk semua pengguna adalah :
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 pengerjaan. Struktur tersebut dapat dilihat pada gambar 3.
Gambar 3: Struktur kumpulan sequence (S|α)
Secara singkat pra-proses pembuatan input dapat dilihat pada gambar 4.
Gambar 4: Flowchart Pra-proses Pembuatan Input
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 memiliki tingkat kemunculan sebanyak dua untuk dapat dikatakan sebagai item yang optimal
(frequent). Tingkat kemunculan untuk tiap item dapat dilihat pada tabel 2.
Tabel 2: Tabel Minimum Support Setiap Item
Item Tingkat Kemunculan
203 4 6632 3 56 2 104 2 4842 2 46 1 743 1 760 1 844 1 7872 1 8057 1 9352 1 9388 1 10241 1
Dari tabel 2 dapat dilihat bahwa adanya item – item yang memiliki tingkat kemunculan dibawah minimum, sehingga item tersebut tidak dipakai dalam kumpulan sekuens yang baru. Setelah melakukan 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)
Secara singkat proses optimalisasi dapat dilihat pada gambar 5.
Gambar 5: Flowchart Proses Optimalisasi
4.3. Proses Pembuatan Projected Sekuens (α’)
Pada proses ini projected sekuens akan dibuat dengan menggunakan item dimana untuk setiap item akan dicari semua sekuens yang memiliki awalan dari item tersebut. Sebagai contoh, proses pembuatan projected sekuens dari item 56 dapat dijelaskan sebagai berikut:
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 Sequence
3. Hasil dari projected sekuens item 56 adalah <(203)(6632)> <(203)(6632)>. Hal ini juga berlaku bagi item-item yang lain. Hasil pembuatan projected sekuens untuk setiap item dapat dilihat pada tabel 3.
Tabel 3: Tabel Pembuatan Projected Sequence Setiap Item
Item Projected Sekuens
56 <(203)(6632)> <(203)(6632)> 104 <(6632)(203)> <(4842)(203)> 203 <(6632)> <(6632)> 4842 <(_56)(203)(6632)> 6632 <(203)>
Secara singkat proses pembuatan projected sekuens dapat dilihat pada gambar 8.
Gambar 8: Flowchart Proses Pembuatan Projected Sequence
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
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 <(56)(203)> <(56) (6632)>.
Item Tingkat Kemunculan
203 2 6632 2
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
Secara singkat proses pembuatan pola sekuensial dapat dilihat pada gambar 9.
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)>. Sebagai contoh akan dijelaskan proses pengolahan pola sekuensial untuk item 56. Proses ini dapat dijelaskan menjadi beberapa langkah yaitu:
Item Projected Sekuens Sequential Patterns 56 <(203)(6632)> <(203)(6632)> <(56)(203)> <(56) (6632)> 104 <(6632)(203)> <(4842)(203)> <(104)(203)> 203 <(6632)> <(6632)> <(203)(6632)> 4842 <(_56)(203)(6632)> - 6632 <(203)> -
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.
3. Setelah mendapatkan tingkat confidence dari tiap pola sekuensial, selanjutnya akan dilakukan pengurutan berdasarkan tingkat confidence.
4. Hasil dari pola sekuensial akan disimpan kedalam txt dengan format. Item-hasil rekomendasi@tingkat confidence,
contoh “56-203@1,6632@1,”
Secara singkat proses pengolahan pola sekuensial dapat dilihat pada gambar 10.
Gambar 10: Flowchart Proses Pengolahan Pola Sekuensial
4.6. Proses Penampilan Data Rekomendasi di PHP
Proses ini dimulai dengan mengambil hasil pola sekuensial dari file txt. Kemudian hasil ini akan dibentuk menjadi dua kelas untuk mempermudah pengerjaan yaitu kelas pojo dan kumpulanPojo. Dimana pojo berisi item beserta dengan rekomendasinya, sedangkan kumpulanPojo
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.
3. Setelah langkah 1 dan 2 dilakukan untuk setiap buku, hasil rekomendasi akan ditampilkan di dalam tabel.
Secara singkat proses pembuatan pola sekuensial dapat dilihat pada gambar 10.
Gambar 10: Flowchart Proses Penampilan Data Rekomendasi di PHP
5. PENGUJIAN KEGUNAAN ALGORITMA
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
data pembanding yaitu transaksi peminjaman pada bulan Januari – Juni 2011 dan peminjaman pada bulan Juli – Desember 2011.
5.2.Data Pengujian
Transaksi peminjaman jurusan THM dan PSY yang ada di perpustakaan 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 apakah buku yang dipinjam oleh mahasiswa pada periode tersebut merupakan hasil rekomendasi akibat peminjaman buku – buku yang pernah dilakukan oleh mahasiswa tersebut dengan minimum support sebanyak 2[12] dan confidence level sebesar 50%[12] untuk setiap jurusan.
5.4. Hasil Pengujian Kegunaan dari
Algoritma PrefixSpan
Berikut ini adalah hasil pengujian untuk kegunaan dari algoritma PrefixSpan
dibagi berdasarkan jurusan dan periode 1 Januari 2011 – 30 Juni 2011
Tabel 6. Tabel Hasil Pengujian THM Periode Pertama Pengguna (1 Januari 2011 – 30 Juni 2011) Hasil rekomen dasi 50% Buku yang dipinjam (1 Januari 2011 – 30 Juni 2011) Tingkat kegunaan 10208021 7267 6780 0 10208026 106 314, 106, 290, 129, 8185 20 10208030 106 10139, 3063, 10018, 5772, 106 20 10209021 784 5227, 5228, 784 33.33 10209046 784 4160, 784 50 10209061 784 3463, 784, 5227, 446 25 Rata - rata 29.67%
Tabel 7. Tabel Hasil Pengujian PSY Periode Pertama Pengguna (1 Januari 2011 – 30 juni 2011) Hasil rekomend asi 50% Buku yang dipinjam (1 Januari 2011 – 30 Juni 2011) Tingkat keguna an 30108001 3121 7630, 8328, 10337, 3121, 8081 20 30108003 5805 5805, 8081, 7630, 9022, 8026, 6342, 7630, 7333, 11.11
9515 30108011 5160 7779, 9137, 5805, 563, 5160 20 30108012 5160 5012, 4447, 7907, 8081, 5012, 5160, 6342, 6730, 6495 10 30109009 3359, 4748, 2522, 4572 4572, 4681, 5563, 6558, 3359 40 30109010 3359, 5563, 4748, 3772, 3770 3772, 3359 100 30109011 3450, 3772, 3770, 3359 5563, 4763, 7913, 3770, 5295, 3450 33.33 30109012 3359, 4967, 5761, 4267, 5563, 4748, 3450, 3772, 3770 3359, 3770, 9231, 4748, 4571 60 30110001 4490 4833, 4490, 3357, 602 25 30110021 3772, 4414 9240, 4206, 3772, 4945, 4942, 4414, 2514 28.57 30110028 3569, 600, 3379 572, 600, 3569, 3379, 5055 60 30110036 561, 3599 561, 3987, 4003, 8226, 602, 3599 33.33 30110039 4409, 561 4409, 5222, 33.33 4923, 3357, 2132, 561 30110040 561 4739, 561, 3495, 9249, 6558 20 Rata – rata 34.19%
5.5. Analisis Pengujian Kegunaan
Algoritma
Meskipun hasil survei awal pada sub bab 3.1.3 menyatakan sebanyak 58% mahasiswa Universitas Ciputra mengatakan bahwa mereka akan meminjam buku berdasarkan referensi dari teman yang 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 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 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.
6. KESIMPULAN DAN SARAN
Berdasarkan hasil dari perancangan hingga implementasi yang telah dilakukan, dapat disimpulkan bahwa:
1. Algoritma PrefixSpan memperhitungkan urutan entry buku dalam satu transaksi maka hasil pengujian diatas dapat berbeda apabila urutan entry buku dalam sebuah transaksi peminjaman berubah. 2. Hasil dari algoritma PrefixSpan sangat
bergantung pola peminjaman yang dilakukan oleh pengguna perpustakaan
tersebut. Semakin sering orang meminjam suatu buku tertentu maka pola yang tercipta di dalam sistem rekomendasi akan semakin besar.
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