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‐1
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
•
Migration
•
Browse
•
Mydocs
•
CDISIS
•
Organization
•
Configuration
•
Partnership
•
Discussion
•
Publisher
•
Explorer
•
Register
•
Folksonomy
•
Request
•
Indexing
•
Search
•
Install
•
Synchronization
•
Member
•
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 clientserver. 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 S3Dissertations. 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.
3.2.3
III‐7
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 : [
]
Contoh : [<1>,<2>,<3>][<3>,<5>,<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_ 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.