BAB IV PERANCANGAN Bab ini akan membahas perancangan perangkat lunak yang akan dikembangkan untuk membangun dynamic folksonomy. Pembahasan meliputi perancangan mekanisme kerja sistem baru, perancangan kelas, serta perancangan keluaran dari folksonomy generator. 4.1 Perancangan Mekanisme Kerja Sistem Baru Sistem baru dari modul folksonomy terutama pada folksonomy generator berusaha memanfaatkan informasi path untuk menerapkan metode folksonomy pada metadata yang telah tersusun secara taxonomy. Informasi ini untuk mendapatkan domain yang dinamis sesuai dengan current view-nya. Terdapat 5 proses utama pada sistem baru yakni : A. Parsing Proses ini berada pada layer 1 subsistem generator. Proses ini melakukan parsing atas metadata yang disimpan pada database untuk diambil daftar keywordnya. Layer 1 dikembangkan dengan menggunakan PHP. B. Dataset Dataset merupakan proses menyimpan daftar keyword berserta informasi path pada file. Dataset ini akan mengurangi pemanfaatan database yang mana pada generasi pertama, informasi keyword dari metadata disimpan pada database. Proses dataset berada pada layer 1 subsistem generator. Informasi pada dataset adalah sebagai berikut : Format : <path>_spasi_<keywords> Contoh : 0/2/5 A,Ab,Abs C. Parsing Proses ini merupakan proses membaca informasi pada dataset. Informasi pada dataset akan disusun menjadi struktur data pohon. Proses ini cukup dilakukan sekali sehingga harus dipastikan bahwa hanya ada satu instance yang eksis. Dengan cukup satu instance yang eksis menyebabkan proses membaca dataset hanya dilakukan sekali atau apabila proses rebuilding struktur data diaktifkan. IV 1
IV 2 D. Fetch Popular Keyword Proses ini mengambil daftar keyword populer dengan melakukan request terhadap subsistem generator. Request dari subsistem presentasi akan ditangani oleh subsistem generator khususnya pada layer 2 untuk menerapkan folksonomy sesuai dengan domain current view yang diberikan oleh subsistem presentasi. Output dari layer 2 subsistem generator berupa XML. Output berformat XML akan memudahkan subsistem presentasi dalam mengolah data yang dihasilkan oleh layer 2 subsistem generator. Pada perangkat lunak ini, pohon tag untuk menghasilkan popular keyword akan disimpan pada memori komputer. Untuk itu, kebutuhan memori akan semakin meningkat seiring dengan semakin besarnya data pada pohon tag. E. Tag Cloud Tag cloud merupakan representasi dari daftar keyword yang populer sebagai wujud dari metode klasifikasi folksonomy. Gambar IV-1. Mekanisme kerja sistem baru
IV 3 4.2 Perancangan Perangkat lunak ini dibangun dengan memakai pendekatan object oriented programming. Berikut ini keterhubungan antar kelas untuk membangun folksonomy generator. Gambar IV-2. Hubungan keterkaitan antar kelas. dari masing-masing kelas terdapat pada tabel berikut : FolksonomyManagerImpl ini untuk memenuhi spesifikasi bahwa hanya satu instance saja yang eksis pada saat runtime. ini aman dari multithreading karena tidak ada property internal dari kelas ini yang berubah. ini hanya memberikan initialisasi apabila FolksonomyManager instance belum eksis.
IV 4 DefaultFolksonomyManager ini mengimplementasikan method yang ada pada FolksonomyManager. DefaultFolksonomyManager merupakan kelas yang menangani proses bisnis dari folksonomy generator. ini tidak aman dari proses multithreading. Terdapat method yang mengubah property internal sehingga untuk proses pengubahan property internal harus diyakinkan bahwa hanya satu thread yang berhak mengakses property tersebut. nodetree yang merepresentasikan node tree. ini berisi informasi nomor node dan informasi keyword yang berada pada node tersebut serta frekuensinya. ini tidak aman terhadap multithreading. Apabila terdapat perubahan property internal dari sebuah node maka harus diyakinkan bahwa tidak ada proses lain yang mengakses kelas ini. Interface FolksonomyManager Interface ini merepresentasikan mekanisme umum yang digunakan pada folksonomy generator. Keamanan dari method yang didefinisikan oleh interface ini terhadap multithreading tergantung dari bagaimana method ini dimplementasikan. ListTag ini berisi informasi keyword yang merupakan keyword popular pada satu group. ini tidak aman terhadap multithreading. Hal ini disebabkan karena ada perubahan property internal. Cellist
IV 5 ini berisi informasi tagging dan disusun terurut berdasarkan frekuensinya. ini tidak aman terhadap multithreading. Hal ini disebabkan karena ada perubahan property internal. Pool ini merupakan IV-5kontainer untuk melakukkan pengelompokan berdasarkan huruf awal literal keyword. ini tidak aman dari multithreading. Penanganan multithreading perlu diterapkan karena terdapat mekanisme perubahan property internal. FolksonomyHelper ini berisi method yang umum dipakai. Pemisahan mekanisme yang umum dipakai untuk mengurangi coding yang redundant. ini aman dari multithreading karena tidak memiliki property internal. Tabel IV-1.. 4.3 Perancangan Keluaran Folksonomy Generator Untuk memudahkan dalam mengolah hasil output dari folksonomy generator menjadi input dari subsistem presentasi, maka keluaran dari folksonomy generator memakai format XML. Format XML digunakan sebagai output folksonomy generator karena GDL v4.2 memiliki modul parsing XML. Berikut ini rancangan dari output folksonomy generator.
Gambar IV-3. Rancangan output dari folksonomy generator. IV 6