3.1 Ganesha Digital Library - Perpustakaan Digital ITB · Koleksi digital dari perpustakaan digital...
Transcript of 3.1 Ganesha Digital Library - Perpustakaan Digital ITB · Koleksi digital dari perpustakaan digital...
III‐1
BAB III ANALISIS
Dalam bab ini akan dibahas mengenai analisis perangkat lunak yang akan dibangun.
Analisis dilakukan pada sistem lama dan sistem baru. Analisis pada sistem lama meliputi
penerapan folksonomy, modul folksonomy, dan mekanisme kerja modul folksonomy.
Sedangkan analisis pada sistem baru meliputi ruang lingkup, tujuan pengembangan
perangkat lunak, lingkungan pengembangan, pembangunan dynamic folksonomy, serta
pemodelan fungsionalitas.
3.1 Ganesha Digital Library Ganesha Digital Library atau lebih dikenal dengan nama GDL merupakan aplikasi
perangkat lunak yang digunakan oleh perpustakaan pusat ITB untuk mempublikasikan
koleksi digital. Koleksi digital dari perpustakaan yang dipublikasikan meliputi abstraksi dari
hasil penelitian civitas akademik ITB dari jenjang S-1, S-2, serta S-3. Selain itu, aplikasi ini
tergabung dalam jaringan Indonesian Digital Library Network (IDLN) yang mana beberapa
koleksi digital merupakan hasil duplikasi dari koleksi digital anggota IDLN.
Ganesha Digital Library yang digunakan penulis adalah versi 4.2. Pada versi 4.2 ini
telah dilakukan berbagai perubahan dari versi sebelumnya yakni versi 4.0. Perubahan –
perubahan yang terjadi pada versi 4.2 yakni:
1. Pemisahaan antara presentation layer dengan business layer. Pemisahaan ini
memudahkan untuk dilakukan modifikasi pada presentation layer agar sesuai dengan
keinginan. Cukup melakukan custom pada file CSS untuk mengubah tampilan web.
2. Presentation layer telah sesuai dengan format XHTML. Format ini menyebabkan source
code pada halaman web tidak ubahnya sebagai format XML.
3. Aplikasi GDL terdiri dari beberapa modul. Modularisasi ini untuk memudahkan apabila
ada penambahan atau modifikasi dari suatu proses bisnis.
4. Aplikasi GDL 4.2 mendukung single account. Single account ini memungkinkan
pengguna dapat bergabung dengan perpustakaan digital di tempat lain tanpa harus
terdaftar di tempat tersebut.
III‐2
5. Aplikasi GDL 4.2 mampu mengambil koleksi metadata dari perpustakaan digital yang
mendukung format metadata dublincore. Hal ini menyebabkan aplikasi GDL 4.2 dapat
berkomunikasi dengan perpustakaan digital di luar negri dengan memanfaatkan protokol
OAI-PMH.
6. Aplikasi GDL 4.2 mengimplementasikan folksonomy. Penerapan folksonomy pada GDL
4.2 akan dijelaskan lebih lanjut di subbab 3.2.
Ganesha Digital Library 4.2 dibangun dengan dukungan beberapa modul. Modul –
modul yang mendukung GDL 4.2 yakni:
• Bookmark
• Browse
• CDISIS
• Configuration
• Discussion
• Explorer
• Folksonomy
• Indexing
• Install
• Member
• Migration
• Mydocs
• Organization
• Partnership
• Publisher
• Register
• Request
• Search
• Synchronization
• Upload
Koleksi digital dari perpustakaan digital ITB dikemas dalam format GDL metadata.
Format metadata dublincore hanya digunakan untuk koleksi digital yang diperoleh dari
perpustakaan digital di luar negri. Untuk melakukan komunikasi antar perpustakaan digital,
GDL 4.2 telah menerapkan protokol OAI-PMH dan protokol GDL. Protokol GDL
merupakan protokol OAI-PMH yang telah di modifikasi dimana protokol ini memerlukan
otentifikasi antara client dengan server. Dengan otentifikasi ini, dimungkinkan hanya
anggota yang terdaftar saja yang berhak untuk sharing koleksi digital.
Aplikasi GDL 4.2 bukanlah merupakan aplikasi yang sempurna sehingga masih banyak
kekurangan yang mana memberikan kesempatan untuk pengembangan lebih lanjut.
Beberapa kekurangan pada aplikasi GDL 4.2 yakni:
1. Belum adanya pengelompokan keanggotan. Pengelompokan keanggotaaan ini dirasa
perlu apabila terdapat beberapa koleksi digital yang bersifat rahasia dan hanya anggota
tertentu saja yang berhak mengaksesnya.
III‐3
2. Indexing metadata memanfaatkan swish-e. Aplikasi swish-e harus dijalankan dari
terminal. Apabila aplikasi ini di-hosting di server yang tidak diberikan otirisasi
mengakses perintah-perintah ke terminal, maka proses indexing akan gagal.
3. Folksonomy masih mengacu pada domain global. Hal ini menyebabkan tag cloud
sebagai hasil representasi penerapan folksonomy hanya dimungkinkan untuk
ditampilkan di halaman depan (home).
4. Keamanan pada aplikasi GDL masih belum baik. Celah keamanan yang dimungkinkan
adalah carding (pemalsuan identitas) saat melakukan proses sinkronisasi antara client-
server. Identitas yang dapat dipalsukan adalah data publisher. Data publisher berisi
informasi pribadi dari perpustakaan digital.
Melihat beberapa kekurangan yang ada pada aplikasi GDL 4.2, penulis memiliki
kesempatan untuk memberikan solusi atas permasalahan bahwa folksonomy hanya
diterapkan pada domain global. Permasalahan ini memberikan kesempatan untuk
mengembangkan dynamic folksonomy yang mana domain folksonomy dapat berubah-ubah.
Untuk itu, tugas akhir ini akan berkonsentrasi pada modul folksonomy sebagai modul yang
menerapkan metode folksonomy pada aplikasi GDL.
3.2 Analisis Sistem Lama Bagian ini akan menganalisis folkonomy pada GDL versi 4.2. Analisis dibagi menjadi
tiga bagian yakni penerapan folksonomy pada GDL, modul folksonomy, serta mekanisme
kerja modul folksonomy.
3.2.1 Penerapan Folksonomy Pada GDL
Ganesha Digital library merupakan perpustakaan digital ITB yang dapat diakses
melalui URL www.digilib.itb.ac.id. Perpustakaan digital ini tergabung dengan jaringan
Indonesian Digital Library Network atau lebih dikenal sebagai IndonesianDLN.
Pengunjung dapat menemukan fitur baru pada versi ini saat mengunjungi
www.digilib.itb.ac.id , yakni tag cloud seperti pada gambar III-1. Tag cloud
merepresentasikan keyword yang populer digunakan oleh pihak yang berkontribusi pada
perpustakaan digital. Tag cloud ini hanya dapat ditampilkan pada halaman depan (home)
karena merepresentasikan keseluruhan keyword content. Gambar III-2 menunjukkan bahwa
tag cloud tidak muncul pada saat pengunjung mengakses S3-Dissertations.
III‐4
Mengapa tag cloud tidak ditampilkan di halaman S3-Dissertations? Hal ini karena
adanya perbedaaan domain untuk menerapkan metode folksonomy guna menghasilkan daftar
keyword populer. Gambar III-3 dan Gambar III-4 memberikan ilustrasi domain yang harus
menjadi ruang lingkup saat menerapkan metode folksonomy atas metadata yang tersusun
menggunakan metode taxonomy. Penerapan domain yang dinamis inilah yang tidak mampu
ditangani oleh folksonomy generator pada GDL v4.2.
Gambar III-1. Tag cloud pada perpustakaan digital ITB.
Tag cloud sebagai representasi penerapan metode folksonomy akan sangat membantu
pengunjung untuk memberikan gambaran mengenai resource yang tersimpan pada node
yang sedang diakses. Gambar III-2 memberikan ilustrasi bagaimana pengunjung hanya
diberikan informasi mengenai informasi kategori saja pada saat mengakses node S3-
Dissertations. Informasi kategori ini tidak cukup memberikan gambaran mengenai resource
yang tersimpan pada node ini. Saat mengakses kategori yang lebih spesifik yakni
Mathematics_And_Natural_Science maka hanya muncul daftar tahun disertasi tersebut
dipublikasikan (Gambar III-5). Permasalahan ini menjadi landasan mengapa pembangunan
dynamic folksonomy perlu dilakukan.
III‐5
Perangkat lunak diharapkan tidak dibangun dengan script PHP karena untuk
menjembatani timeout akibat pembatasan waktu eksekusi. Oleh sebab itu, perlu dibangun
sistem yang mampu menampilkan halaman web berisi tag cloud yang dihasilkan dari
eksekusi folksonomy generator kurang dari 3 menit. Waktu 3 menit ini merupakan
konfigurasi timeout pada server perpustakaan digital sampai bulan Juni 2007.
3.2.2 Modul Folksonomy
Ganesha Digital Library mulai versi 4.2 terdiri atas beberapa modul. Modularisasi ini
diharapkan dapat memudahkan penambahan atau pengurangan suatu fitur serta memudahkan
dalam memberikan hak akses. Salah satu modul yang terdapat dalam Ganesha Digital
Library adalah modul folksonomy. Modul folksonomy berisi 2 subsistem yakni :
1. Subsistem Presentasi Tag Cloud
Sistem ini menampilkan tag cloud yang berisi daftar keyword populer yang
dihasilkan oleh subsistem generator. Dalam pengerjaan tugas akhir ini, hanya akan
dilakukan beberapa modifikasi untuk mengakomodasi perubahan yang terjadi pada
subsistem generator.
Gambar III-2. Sub kategori pada node S3-Dissertations.
III‐6
Gambar III-3. Domain folksonomy untuk top Gambar III-4. Domain folksonomy untuk S3-Dissertations
node
2. Subsistem Folksonomy Generator
Subsistem ini mengolah keyword yang ada pada metadata untuk menghasilkan
daftar keyword populer. Subsistem ini merupakan penyuplai data untuk subsistem
presentasi. Subsistem inilah yang menerapkan folksonomy atas resource di GDL.
Subsistem generator merupakan fokus utama dari tugas akhir ini.
Gambar III-5. Sub kategori pada Mathematics_and_Natural_Science.
III‐7
3.2.3 Mekanisme Kerja Modul Folksonomy
Modul folksonomy melakukan klasifikasi dari satu domain saja yakni dari node-0
(top) yang merupakan domain utama. Proses pengklasifikasian menggunakan folksonomy
atas metadata yang telah tersusun secara taxonomy terbagi menjadi 4 proses utama, yakni :
A. Parsing
Proses ini merupakan proses dimana folksonomy generator melakukan parsing
atas metadata yang tersimpan pada database. Path metadata pada proses ini
diabaikan sehingga semua metadata dianggap dalam satu domain, yakni current
view top. Parsing menghasilkan daftar keyword yang tersimpan dalam metadata.
B. Save Keyword
Proses ini merupakan proses dimana daftar keyword yang telah dihasilkan pada
proses sebelumnya disimpan dalam database. Apabila keyword yang akan
disimpan telah ada maka frekeunsi keyword tersebut akan bertambah, sedangkan
apabila tidak maka akan membuat sebuah record baru pada database.
C. Fetch Populer Keyword
Proses ini merupakan bagian dari subsistem presentasi. Subsistem ini akan
mengambil daftar keyword popular yang terdapat pada database. Daftar keyword
akan dikelompokkan sesuai dengan huruf awalnya. Daftar keyword yang
diambil dari database dapat direpresentasikan sebagai berikut :
Grouping : [<keyword><frekuensi>]
Contoh :
[<A><1>,<Ab><2>,<Abc><3>][<Bb><3>,<Bcd><5>,<Bcde><7>]…..
D. Tag Cloud
Tag cloud merupakan representasi dari daftar keyword yang popular sebagai
wujud dari metode klasifikasi folksonomy.
III‐8
Gambar III-6. Mekanisme kerja modul folksonomy sistem lama
3.3 Analisis Sistem Baru Subbab ini memberikan analisis terhadap kebutuhan sistem baru berdasarkan hasil
analisis dari sistem lama. Pembahasan terbagi menjadi empat sub pembahasan yakni : tujuan
dari pengembangan perangkat lunak, lingkungan pengembangan, pembangunan dynamic
folksonomy, dan pemodelan fungsionalitas.
3.3.1 Tujuan Pengembangan Perangkat Lunak
Perangkat lunak ini dikembangkan untuk dapat menerapkan metode folksonomy atas
metadata yang telah tersusun dengan metode taxonomy. Metode folksonomy yang
diterapkan harus dapat bersifat dinamis yakni domain data dapat berubah-ubah sesuai dengan
current view.
Perangkat lunak yang akan dikembangkan akan mengubah mekanisme generator.
Pengembangan folksonomy generator generasi kedua akan menggunakan dataset yang berisi
informasi path dan keyword dari metadata yang disimpan dalam perpustakaan digital.
Perubahan mekanisme ini untuk memudahkan menentukan domain dari current view.
III‐9
Domain yang bersifat dinamis inilah yang akan menghasilkan keyword populer sesuai
dengan current view-nya saat metode folksonomy diterapkan pada metadata yang terdapat
pada domain tersebut.
3.3.2 Lingkungan Pengembangan
Pengembangan perangkat lunak dikembangkan dengan memanfaatkan dua bahasa
pemrograman, yakni :
1. PHP
Bahasa pemrograman PHP digunakan untuk melakukan modifikasi terhadap subsistem
presentasi untuk mengakomodasi perubahan yang terjadi pada subsistem generator.
PHP dipilih sebagai bahasa pemrograman karena Ganesha Digital Library
dikembangkan dengan menggunakan bahasa pemrograman ini.
2. C++
Bahasa pemrograman C++ digunakan untuk membangun subsistem generator.
Subsistem generator generasi pertama yang dibangun dengan menggunakan PHP akan
diganti dengan menggunakan C++. Untuk mengakses subsistem generator dari
subsistem presentasi menggunakan kata kunci “System(command)”. Perangkat lunak
yang dikembangkan akan dijalankan pada sistem operasi Linux.
3.3.3 Pembangunan Dynamic Folksonomy
Untuk membangun dynamic folksonomy atas metadata yang tersusun dengan metode
taxonomy, perangkat lunak diharapkan memiliki kemampuan sebagai berikut :
1. Parsing
Folksonomy generator harus mampu melakukan parsing dari dataset. Dataset merupakan
file yang berisi daftar keyword dari metadata beserta letak metadata tersebut. Data yang
diperoleh kemudian disusun dengan memanfaatkan struktur data pohon (tree data type).
Struktur data ini merepresentasikan taxonomy yang digunakan pustakawan dalam
mengelompokkan metadata perpustakaan digital ITB.
Contoh :
a. Dataset
Dataset merupakan file yang berisi daftar keyword dari metadata yang tersimpan
pada database. Format dataset yakni <path>_spasi_ <keywords> dengan contoh
data sebagai berikut :
III‐10
0/1/2/5 a,b,c
0/1/2/7 d,e,f
0/1/2 b,c,r
0/4 a,e
0/3/6 r,t
0/3/8 p,q,r
b. Struktur data pohon
Struktur data ini untuk menerjemahkan path yang ada pada dataset sekaligus
sebagai representasi metode taxonomy yang telah dimanfaatkan oleh
pustakawan. Gambar III-7 merepresentasi struktur data dari contoh dataset di
atas.
2. Klasifikasi sesuai domain
Folksonomy generator harus mampu melakukan klasifikasi menggunakan metode
folksonomy dengan memanfaatkan metadata yang telah tersusun dengan metode
taxonomy. Selain itu, folksonomy generator harus mampu menentukan domain dari
current view sehingga akan menghasilkan domain yang dinamis sesuai dengan node
yang diakses.
a. Gambar III-8 memberikan ilustrasi bahwa apabila user mengakses node-0 (top)
maka domain untuk mendapatkan data keyword agar dapat dilakukan klasifikasi
dengan metode folksonomy adalah semua node (node-0, 1, 2, 5, 7, 4, 3, 6, dan 8).
Hal ini dikarenakan node-0 adalah node puncak dalam hal ini user sedang
mengakses halaman utama (home).
Gambar III-7. Representasi struktur data pohon.
III‐11
b. Gambar III-9 memberikan ilustrasi bahwa saat ini user sedang mengakses node-2.
Untuk itu, domain data untuk folksonomy adalah node-2, 5, dan 7.
c. Gambar III-10 memberikan ilustrasi bahwa saat ini user sedang mengakses node-6.
Karena node-6 tidak memiliki child, maka domain data untuk folksonomy cukup
node-6 itu sendiri.
Gambar III-8. Domain current view node-0. Gambar III-9. Domain current view node-2
Gambar III-10. Domain current view node-6.
III‐12
3.3.4 Pemodelan Fungsionalitas
Pemodelan fungsionalitas merupakan pemodelan perangkat lunak dari sudut pandang
fungsi yang dipakai oleh pengguna. Pada sub-bab ini akan dipaparkan pemodelan fungsional
folksonomy generator yang terdiri dari diagram use case, definisi actor dan definisi use case.
3.3.4.1 Diagram Use Case
Fungsionalitas dari folksonomy generator secara keseluruhan dapat digambarkan
melalui diagram use case berikut :
Gambar III-11. Use Case folksonomy generator
3.3.4.2 Definisi Aktor
Definisi dari aktor yang terlibat langsung dengan fungsionalitas folksonomy
generator adalah sebagai berikut :
Tabel III-1. Definisi Aktor Folksonomy Generator
No Kode Definisi Aktor Deskripsi
1 ACT-FG-01 Administrator Pihak yang bertugas mengelola sistem perpustakaan digital.
2 ACT-FG-02 Subsistem presentasi Subsistem yang mengolah daftar tag dari folksonomy generator menjadi tag cloud pada halaman web.
III‐13
3.3.4.3 Definisi Use Case
Berikut ini penjelasan masing – masing use case pada fungsionalitas folksonomy
generator.
Tabel III-2. Definisi Use Case
No Kode Use Case Deskripsi
1 UC-FG-01 Membangun pohon tag Informasi tag serta path dari dataset di susun menjadi struktur data pohon yang merepresentasikan penerapan taxonomy pada GDL.
2 UC-FG-02 Parsing dataset Melakukan parsing dataset.
3 UC-FG-03 Mengelola folksonomy Administrator akan melakukan pengelolaan folksonomy memanfaatkan folksonomy generator.
4 UC-FG-04 Memperoleh daftar tag Folksonomy generator menghasilkan daftar tag sesuai dengan domain yang diminta oleh subsistem presentasi.