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_
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 Kelas 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.
Deskripsi dari masing-masing kelas terdapat pada tabel berikut : Kelas
FolksonomyManagerImpl Deskripsi Kelas ini untuk memenuhi spesifikasi bahwa hanya satu instance saja yang eksis pada saat runtime. Thread Safety Kelas ini aman dari multithreading karena tidak ada property internal dari kelas ini yang berubah. Kelas ini hanya memberikan initialisasi apabila FolksonomyManager instance belum eksis.
IV‐4
Kelas
DefaultFolksonomyManager Deskripsi Kelas ini mengimplementasikan method yang ada pada FolksonomyManager. DefaultFolksonomyManager merupakan kelas yang menangani proses bisnis dari folksonomy generator. Thread Safety Kelas 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.
Kelas
nodeTree Deskripsi Kelas yang merepresentasikan node tree. Kelas ini berisi informasi nomor node dan informasi keyword yang berada pada node tersebut serta frekuensinya. Thread Safety Kelas 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 Deskripsi Interface ini merepresentasikan mekanisme umum yang digunakan pada folksonomy generator. Thread Safety Keamanan dari method yang didefinisikan oleh interface ini terhadap multithreading tergantung dari bagaimana method ini dimplementasikan.
Kelas
ListTag Deskripsi Kelas ini berisi informasi keyword yang merupakan keyword popular pada satu group. Thread Safety Kelas ini tidak aman terhadap multithreading. Hal ini disebabkan karena ada perubahan property internal.
Kelas
Cellist
IV‐5
Deskripsi Kelas ini berisi informasi tagging dan disusun terurut berdasarkan frekuensinya. Thread Safety Kelas ini tidak aman terhadap multithreading. Hal ini disebabkan karena ada perubahan property internal. Kelas
Pool Deskripsi Kelas ini merupakan IV-5kontainer untuk melakukkan pengelompokan berdasarkan huruf awal literal keyword. Thread Safety Kelas ini tidak aman dari multithreading. Penanganan multithreading perlu diterapkan karena terdapat mekanisme perubahan property internal.
Kelas
FolksonomyHelper Deskripsi Kelas ini berisi method yang umum dipakai. Pemisahan mekanisme yang umum dipakai untuk mengurangi coding yang redundant. Thread Safety Kelas ini aman dari multithreading karena tidak memiliki property internal. Tabel IV-1. Deskripsi Kelas.
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.
IV‐6
Gambar IV-3. Rancangan output dari folksonomy generator.