BAB III ANALISIS Sesuai dengan isi dari bab pertama, tujuan tugas akhir ini adalah pembangunan aplikasi pertukaran informasi pada suatu jaringan knowledge base untuk pembaharuan informasi anggota jaringan knowledge base tersebut. Di dalam bab pertama juga telah disebutkan bahwa fitur utama yang dibutuhkan adalah pencarian informasi ke dalam jaringan knowledge base serta pengiriman informasi ke seluruh anggota jaringan knowledge base.
3.1 Analisis Umum Sistem Arsitektur sistem terdiri atas beberapa knowledge base sederhana dan jaringan yang menghubungkannya. Knowledge base sederhana yang dimaksud di sini terkait dengan tampilan antarmuka dan fitur-fiturnya yang minimal. Sedangkan struktur repositori knowledge base sudah dirancang sedemikian rupa sehingga dapat menampung informasi dengan baik. Setiap knowledge base individu tersebut dibangun dengan struktur menyerupai struktur TUSK knowledge base yang terdapat pada Sub bab 2.1.1. Setiap knowledge base memiliki struktur repositori yang sama, namun masing-masing knowledge base dapat memiliki klasifikasi informasi dan informasi yang berbeda. Knowledge base ini terhubung satu sama lain melalui jaringan LAN atau internet, dan masing-masing menyimpan informasi mengenai keberadaan anggota jaringan knowledge base yang lain. Terkait dengan pertukaran informasi pada suatu waktu, sebuah knowledge base dapat dibedakan menjadi dua golongan, yaitu knowledge base yang menjalankan fitur aktif, yaitu fitur yang melakukan inisiatif pelaksanaan suatu proses, dan knowledge base yang menjalankan fitur pasif, yaitu fitur yang melaksanakan proses sebagai konsekuensi dari proses yang berjalan di knowledge base lain. Knowledge base yang menjalankan fitur aktif disebut sebagai knowledge base host dan adminnya disebut sebagai AdminHost, sedangkan yang menjalankan fitur pasif disebut sebagai knowledge base client dan adminnya disebut sebagai AdminClient. Sesuai dengan tujuan tugas akhir, aplikasi akan mengimplementasikan dua buah fitur utama, yaitu pencarian informasi dan pengiriman informasi untuk keperluan pembaharuan informasi.
1
III-2 Fitur utama tersebut akan didukung oleh beberapa fitur lain sebagai fitur pendukung. Fitur-fitur tersebut ditentukan dengan menggunakan referensi struktur dari TUSK knowledge base. Rincian lengkap dari fitur-fitur tersebut adalah sebagai berikut. 1. Fitur pencarian informasi pada jaringan knowledge base (GetInfo) Fitur ini melakukan pencarian informasi di dalam jaringan knowledge base berdasarkan kata kunci tertentu. Setiap knowledge base yang terdaftar melakukan pencarian internal dan mengembalikan informasi terbaik yang mereka miliki. Fitur ini mengacu pada bagian incorporation tools pada struktur TUSK. Fitur ini bersifat aktif dan dapat diakses oleh pengguna non-admin serta admin, dengan pembatasan pengguna non-admin hanya dapat melihat informasi hasil pencarian tanpa bisa memasukkannya ke dalam knowledge base. 2. Fitur pengiriman informasi kepada anggota jaringan knowledge base (BroadcastInfo) Fitur ini mengirimkan informasi ke seluruh knowledge base client yang terdapat pada jaringan knowledge base. Fitur ini mengacu kepada bagian incorporation tools dari struktur TUSK. Fitur ini bersifat aktif dan hanya dapat dilakukan oleh admin. 3. Fitur manajemen informasi (InfoManager) Fitur ini digunakan untuk melakukan hal-hal yang berkaitan dengan manajemen informasi knowledge base, misalnya penambahan, perubahan dan penghapusan topik dan informasi dari knowledge base. Fitur ini mengacu pada bagian maintenance tools dan authoring tools dari struktur TUSK. Fitur ini bersifat aktif dan hanya dapat dilakukan oleh admin. 4. Fitur melihat informasi pada knowledge base host (ViewInfo) Fitur ini digunakan untuk memperlihatkan informasi dari knowledge base host dengan klasifikasi tertentu. Fitur ini mengacu pada bagian user interface dari struktur TUSK. Fitur ini bersifat aktif dan dapat digunakan oleh pengguna non-admin serta admin. 5. Fitur review informasi hasil pengiriman oleh knowledge base host (ReviewInfo) Fitur ini digunakan untuk melihat detail informasi yang dikirimkan oleh knowledge base host. Di dalam fitur ini akan ditentukan apakah sebuah informasi layak disimpan atau tidak. Fitur ini bersama dengan GetInfo dan BroadcastInfo merupakan representasi bagian incorporation tools dari struktur TUSK. Fitur ini bersifat pasif karena informasi yang datang dikirimkan atas inisiatif admin knowledge base host. Fitur ini hanya dapat dijalankan oleh admin
III-3 6. Fitur pencarian informasi internal (SearchInfo) Fitur ini berfungsi untuk melakukan pencarian internal suatu knowledge base client berdasarkan permintaan dari knowledge base host. Fitur ini merupakan salah satu bagian yang mengacu pada bagian programming interface dari struktur TUSK. Fitur ini hanya akan berjalan berdasarkan perintah dari fitur lain dan karena hal tersebut maka digolongkan sebagai fitur pasif 7. Fitur autentikasi admin (AdminLogin) Fitur ini digunakan untuk melakukan autentikasi admin dan mengacu pada bagian programing interface dari TUSK. Fitur ini bersifat aktif dan hanya dapat digunakan oleh admin. Bagian data model dari TUSK knowledge base direpresentasikan sebagai knowledge base repository dari masing-masing knowledge base yang ada. Pembangunan knowledge base repository ini akan dibahas lebih lanjut pada Sub bab 3.3. Gambaran umum mengenai arsitektur sistem dan fitur-fitur dari aplikasi tugas akhir ini dapat dilihat pada Gambar III-1
KBHost Pengguna nonadmin
KBClient
Internet / LAN AdminClient
AdminHost
- GetInfo - BroadcastInfo - InfoManager - ViewInfo - AdminLogin
- ReviewInfo - SearchInfo
Gambar III-1 Arsitektur sistem dan fitur-fitur yang tersedia
III-4
3.2 Analisis Aliran Data Pada analisis bagian ini, aliran data pada fitur-fitur yang terdapat di dalam aplikasi digambarkan secara umum sehingga dapat dengan mudah dimengerti. Setiap aliran data akan diberi penjelasan mengenai apa yang terjadi di dalamnya. 3.2.1 Analisis Aliran Data pada Fitur GetInfo KNOWLEDGE BASE HOST
KNOWLEDGE BASE CLIENT Knowledge Base Client
Kata Kunci
Knowledge Base Client
Knowledge Base Client
Informasi Terbaik
Fitur GetInfo
Knowledge Base Host
Informasi Terbaik
Informasi Terbaik
Gambar III-2 Aliran data pada fitur GetInfo
Gambar III-2 memvisualisasikan aliran data yang terjadi pada fitur GetInfo. Aliran data yang terjadi dapat dijelaskan lebih lanjut sebagai berikut: 1. Pengguna knowledge base host menjalankan fitur GetInfo dan memasukkan kata kunci untuk melakukan pencarian informasi pada semua knowledge base client pada jaringan knowledge base.
III-5 2. Setiap knowledge base client menerima kata kunci yang diberikan dan melakukan pencarian internal untuk memperoleh informasi terbaik sesuai dengan kata kunci yang diberikan. Informasi yang didapatkan kemudian dikirimkan kembali kepada knowledge base host dan diterima kembali oleh fitur GetInfo. 3. Fitur GetInfo akan menentukan informasi terbaik dari semua informasi yang diterima, untuk kemudian ditampilkan kepada pengguna. Jika pengguna adalah seorang admin, maka informasi yang didapatkan dapat dimasukkan ke dalam knowledge base host. 3.2.2 Analisis Aliran Data pada Fitur BroadcastInfo KNOWLEDGE BASE HOST Informasi
KNOWLEDGE BASE CLIENT Knowledge Base Client
Fitur BroadcastInfo
Knowledge Base Client
Knowledge Base Host
Knowledge Base Client
Gambar III-3 Aliran data pada fitur BroadcastInfo
Gambar III-3 memvisualisasikan aliran data yang terjadi pada fitur BroadcastInfo. Aliran data yang terjadi dapat dijelaskan lebih lanjut sebagai berikut: 1. Admin knowledge base host menjalankan fitur BroadcastInfo dan memilih sebuah informasi untuk kemudian dikirimkan ke semua knowledge base client dari jaringan knowledge base.
III-6 2. Setiap knowledge base client menerima informasi yang dikirimkan dan disimpan pada basis data sementara untuk kemudian diproses lebih lanjut dengan menggunakan fitur ReviewInfo. Keterangan mengenai basis data sementara ini akan dijelaskan lebih lanjut pada Sub bab 3.4. 3.2.3 Analisis Aliran Data pada Fitur ViewInfo KNOWLEDGE BASE HOST
Fitur ViewInfo
Klasifikasi Informasi
Knowledge Base Host
Gambar III-4 Aliran data pada fitur ViewInfo
Gambar III-4 memvisualisasikan aliran data yang terjadi pada fitur ViewInfo. Aliran data yang terjadi dapat dijelaskan lebih lanjut sebagai berikut: 1. Pengguna knowledge base host menggunakan fitur ViewInfo dan memasukkan klasifikasi tertentu untuk memperoleh informasi yang diinginkan. 2. Knowledge base host memproses klasifikasi yang dimasukkan dan menampilkan sejumlah informasi yang memenuhi klasifikasi tersebut.
III-7 3.2.4 Analisis Aliran Data pada Fitur ReviewInfo KNOWLEDGE BASE HOST
Fitur ReviewInfo
List Informasi
Knowledge Base Host
Gambar III-5 Aliran data pada fitur ReviewInfo
Gambar III-5 memvisualisasikan aliran data yang terjadi pada fitur ReviewInfo. Aliran data yang terjadi di atas dapat dijelaskan lebih lanjut sebagai berikut: 1. Ketika seorang admin login ke dalam aplikasi, akan terdapat pemberitahuan apabila ada informasi yang dikirimkan dari knowledge base lain. 2. Admin knowledge base kemudian akan masuk ke dalam fitur ReviewInfo untuk mengevaluasi informasi-informasi tersebut. 3. Admin akan melakukan penilaian terhadap informasi yang ada dan memproses setiap informasi tersebut.
III-8 3.2.5 Analisis Aliran Data pada Fitur SearchInfo KNOWLEDGE BASE HOST
Kata Kunci
Knowledge Base Host
KNOWLEDGE BASE CLIENT
Fitur SearchInfo
Knowledge Base Client
Informasi Terbaik
Gambar III-6 Aliran data pada fitur SearchInfo
Gambar III-6 memvisualisasikan aliran data yang terjadi pada fitur SearchInfo. Aliran data yang terjadi dapat dijelaskan lebih lanjut sebagai berikut: 1. Sebuah knowledge base host mengirimkan kata kunci dan memerintahkan knowledge base client untuk mengaktifkan fitur SearchInfo. 2. Knowledge base client melakukan pencarian dengan kata kunci tersebut dan menentukan sebuah informasi sebagai informasi terbaik. 3. Knowledge base client mengirimkan informasi terbaik tersebut kepada knowledge base host yang memerintahkan pencarian.
III-9 3.2.6 Analisis Aliran Data pada Fitur InfoManager INTERNAL KNOWLEDGE BASE
Fitur InfoManager
Informasi
Informasi
Knowledge Base Host
Gambar III-7 Aliran data pada fitur InfoManager
Gambar III-7 memvisualisasikan aliran data yang terjadi pada fitur InfoManager. Aliran data yang terjadi dapat dijelaskan lebih lanjut sebagai berikut: 1. Admin knowledge base host memilih sebuah / beberapa informasi untuk diperbaiki. Kasus lainnya adalah ketika admin tersebut mempersiapkan sebuah / beberapa informasi untuk dimasukkan ke dalam knowledge base host. 2. Setelah informasi tersebut diperbaiki, informasi tersebut kemudian dimasukkan kembali ke dalam knowledge base host. Jika yang dimasukkan oleh admin adalah sebuah informasi baru, maka informasi tersebut akan dimasukkan ke dalam knowledge base host. 3. Dalam beberapa kasus tertentu, admin menganggap bahwa sebuah informasi tidak lagi diperlukan di dalam knowledge base host. Informasi tersebut kemudian dapat dihapus dari knowledge base host.
III-10
3.3 Analisis Struktur Repositori Knowledge base Repositori knowledge base merupakan representasi dari data model pada struktur TUSK knowledge base. Sub bab ini berisi analisis mengenai struktur repositori knowledge base yang akan digunakan. Pada Sub bab 2.2 telah dijabarkan berbagai jenis klasifikasi yang dapat digunakan untuk pembentukan repositori knowledge base. Analisis mengerucut pada dua jenis klasifikasi saja, yaitu thesauri yang merupakan struktur repository paling stabil, dan struktur ontologi topic map yang menawarkan banyak kelebihan serta merupakan teknologi yang baru. Dengan mempertimbangkan kelebihan-kelebihan pada ontologi topic map, termasuk kemudahan di dalam memasukkan faktor tingkat kepercayaan, portabilitas topic map dan informasi yang terkandung, tugas akhir ini akan menggunakan adaptasi dari ontologi topic map sebagai struktur repositori. 3.3.1 Analisis Kelayakan Klasifikasi Informasi Berbasis Ontologi Topic map Jika dilihat dari kemunculannya, penggunaan ontologi sebagai sebuah klasifikasi penyimpanan informasi sangatlah baru jika dibandingkan dengan penggunaan thesauri atau klasifikasi faset [GAR04]. Hal tersebut menyebabkan tingkat kepopuleran thesauri dan klasifikasi faset di dalam klasifikasi repository data lebih tinggi dari ontologi. Namun, dari segi teknologi, penggunaan ontologi dinilai sangat menguntungkan dikarenakan sifatnya yang mampu mengintegrasikan klasifikasi lainnya, termasuk klasifikasi faset dan thesauri. Hal ini dapat dilihat pada landasan teori Sub bab 2.2. Sebagai imbas dari integrasi tersebut, penyimpanan informasi pun dapat dilakukan dengan lebih baik. Salah satu ontologi untuk klasifikasi informasi pada knowledge base yang saat ini telah memiliki standar adalah topic map. Sebagaimana ontologi lainnya, topic map merupakan teknologi yang menggabungkan penggunaan standar-standar konvensional di dalam pelaksanaannya. Topic map dibuat dengan menggunakan tiga hal penting sebagai penyangga, topic, associations, dan occurrence yang ketiganya seringkali disebut sebagai TAO dari topic map.
III-11 Topic map memiliki beberapa kelebihan yang menjadikannya digunakan sebagai struktur repositori knowledge base di dalam tugas akhir ini. Dua di antara kelebihan-kelebihan yang dimiliki topic map adalah: 1. Topic map memberikan kemudahan di dalam memasukkan faktor tingkat kepercayan. Dengan occurrences embedded definition, tingkat kepercayaan dari suatu informasi dapat ditentukan. 2. Topic map merupakan sesuatu yang portable [GAR04]. Hal ini memiliki kemungkinan untuk menunjang kinerja dari aplikasi secara keseluruhan dengan kemampuan untuk memindahkan seluruh / sebagian topic map dari suatu tempat ke tempat lain tanpa perlu memindahkan pengetahuan yang terkandung di dalamnya. 3.3.2 Analisis Struktur Repositori Knowledge base Berbasis Ontologi Topic Map Sesuai dengan hasil analisis sebelumnya, struktur repositori yang digunakan di dalam tugas akhir ini merupakan adaptasi dari ontologi topic map, di mana hal utama yang diadaptasi dari ontologi tersebut adalah penggunaan TAO of topic map. Adaptasi tersebut diimplementasikan dengan pendefinisian topic, association dan occurence di dalam struktur knowledge base. type_name type_id
topic_name type_ket
topic_id topic_keyword
assoc_types
N
type_id
first_topic
assoc
N
topic
N
N second_topic
info_id
topic_id
Info_judul
info_content
info
N
info_id
occur
info_keyword vt_start info_hit relevance_value trust_value
vt_end last_access
Gambar III-8 ERD repositori knowledge base hasil adaptasi ontologi topic map
III-12 ERD dari struktur repositori knowledge base yang dihasilkan divisualisasikan dalam Gambar III-8. Setiap entitas yang ada pada Gambar III-8 mewakili kebutuhan sebuah ontologi topic map, yang di dalamnya terdapat topic, association, dan occurrence. 3.3.2.1 Entitas assoc_types Himpunan entitas assoc_types mendefinisikan jenis-jenis asosiasi yang terdapat antara dua buah topik pada topic map. Atribut yang dimiliki oleh setiap entitas ini ada tiga buah, yaitu: type_id
: Identitas dari assoc_types
type_name
: Nama dari assoc_types
type_ket
: Keterangan dari assoc_types
3.3.2.2 Entitas topic Himpunan entitas topic merupakan representasi topik pada topic map. Entitas ini merupakan entitas utama untuk melakukan klasifikasi di dalam knowledge base. Atribut dari setiap entitas topic adalah sebagai berikut: topic_id
: Identitas dari topic
topic_name
: Nama dari topic.
topic_keyword : Sejumlah kata kunci yang dapat merepresentasikan topic ini. 3.3.2.3 Entitas info Himpunan entitas info merupakan representasi informasi yang dimiliki knowledge base. Selain informasi, di dalam entitas ini juga terdapat nilai-nilai terkait dengan pengaksesan informasi ini oleh pengguna. Atribut dari setiap entitas ini adalah sebagai berikut: info_id
: Identitas dari informasi
info_content
: Nama dari informasi
info_keyword : Sejumlah kata kunci yang dapat merepresentasikan kandungan informasi. info_judul
: Judul dari informasi
info_hit
: Catatan tentang berapa kali sebuah informasi diakses oleh pengguna
trust_value
: Nilai kepercayaan pengguna terhadap informasi.
last_access
: Catatan mengenai kapan terakhir kali akses dilakukan.
III-13 3.3.2.4 Relasi assoc Himpunan relasi assoc menggambarkan keterhubungan antara dua buah entitas topic dan entitas assoc_types. Himpunan relasi ini mencatat semua asosiasi antar topik di dalam sebuah topic map. Anggota himpunan relasi ini tidak memiliki atribut. 3.3.2.5 Relasi occurence Himpunan relasi occur menggambarkan hubungan antara entitas topic dan info yang dimiliki repositori knowledge base, yang dalam ontologi topic map disebut dengan occurence. Dikarenakan hubungan N-N yang dimiliki keduanya, maka relasi ini perlu ditambahkan ke dalam skema repositori knowledge base. Atribut dari relasi ini adalah sebagai berikut: relevance_value
: Nilai keterkaitan antara topik dan informasi.
valid_time_start
: Awal masa keberlakuan sebuah occurence
valid_time_end
: Akhir masa keberlakuan sebuah occurence.
3.4 Analisis Struktur Pertukaran Informasi Di dalam aplikasi ini, informasi dipertukarkan dengan mengirimkan atau menerima informasi tersebut. Hal tersebut membutuhkan sebuah tempat penyimpanan sementara informasi, sebelum informasi yang dipertukarkan tersebut dapat diproses lebih lanjut. Berdasarkan hasil analisis pada Sub bab 3.3 dapat ditentukan bahwa entitas-entitas yang terkait langsung dengan informasi adalah entitas info dan entitas topic, sehingga pertukaran informasi yang dilakukan akan berfokus kepada dua entitas tersebut bersama dengan relasi yang menghubungkan keduanya. Struktur informasi yang dipertukarkan haruslah mampu mengakomodasi keberadaan seluruh atribut dari entitas-entitas dan relasi tersebut. Didasarkan kepada hal tersebut, struktur informasi yang dipertukarkan dibuat seperti pada Tabel III-1.
III-14 Tabel III-1 Struktur informasi untuk dipertukarkan
Nama Atribut Topic_name Topic_keyword Relevance_value Vt_start Vt_end Info_judul Info_keyword Info_content Info_hit Trust_value Last_access Sender_message
Keterangan Nama dari topic terkait informasi. Sejumlah kata kunci yang dapat merepresentasikan topic. Nilai keterkaitan antara topik dan informasi. Awal masa keberlakuan sebuah occurence Akhir masa keberlakuan sebuah occurence. Judul dari informasi Nama dari informasi Sejumlah kata kunci yang dapat merepresentasikan informasi. Catatan berapa kali sebuah informasi diakses oleh pengguna Nilai kepercayaan pengguna terhadap informasi. Catatan mengenai kapan terakhir kali akses dilakukan. Pesan dari pengirim informasi kepada penerima
Dalam melakukan pertukaran informasi, terdapat kebutuhan untuk melakukan penyimpanan sementara informasi hasil pertukaran tersebut sebelum dituliskan ke dalam knowledge base. Untuk mengakomodasi hal tersebut, dibuatlah sebuah entitas seperti pada Gambar III-9. Entitas tersebut memiliki atribut-atribut untuk mengakomodasi kebutuhan penyimpanan informasi dari informasi yang dipertukarkan. Info_judul tempdata_id info_content topic_name info_keyword
temp_data
topic_keyword
info_hit vt_start trust_value vt_end last_access relevance_value sender_message
Gambar III-9 ERD entitas penyimpanan informasi sementara
III-15
3.5 Analisis Protokol Komunikasi Aplikasi pertukaran informasi ini membutuhkan sebuah mekanisme untuk melakukan pengiriman dan penerimaan informasi secara otomatis pada knowledge base client dengan perintah yang dikirimkan oleh knowledge base host. Untuk menangani hal tersebut, penggunaan web service adalah solusi yang tepat. Implementasi layanan web service di setiap anggota jaringan knowledge base membentuk sebuah protokol komunikasi yang mampu menjawab kebutuhan tersebut [W3C08]. 3.5.1 Analisis Kelayakan Web Services Sebagai Protokol Komunikasi Keberadaan web service pada sebuah sistem memungkinkan aplikasi di luar sistem tersebut memanfaatkan sumber daya yang terdapat di dalam sistem dan sebaliknya. Hal ini sangat sesuai dengan kebutuhan aplikasi, dimana knowledge base host yang melakukan pencarian informasi akan dapat memanfaatkan web service ini sebagai kakas untuk melakukan pencarian di dalam setiap knowledge base client pada jaringan knowledge base. Penggunaan web service juga akan menjadikan layanan pencarian informasi tersebut dapat digunakan oleh knowledge base manapun yang memiliki topik knowledge yang sama. Hal tersebut dapat dilakukan dengan cara mengikuti protokol yang terdefinisi. Dikarenakan kelebihan tersebut, web service menjadi pilihan untuk melakukan komunikasi antar knowledge base di dalam aplikasi ini. 3.5.2 Analisis Jenis Web Services Yang Digunakan Jenis-jenis dari web services yang ada sat ini telah dibahas pada Sub bab 2.4. Dari bermacammacam web services tersebut, tugas akhir ini akan menggunakan document-centric SOAP sebagai jenis web services yang digunakan, dikarenakan ketersediaan, kompatibilitas dan kemudahan penggunaan web services jenis tersebut.
3.6 Analisis Kebutuhan Aplikasi Pada Sub bab ini akan dibahas mengenai spesifikasi kebutuhan perangkat lunak yang akan dibangun. Spesifikasi tersebut mencakup use case, scenario, class diagram, dan sequence
III-16 diagram dari aplikasi. Selain itu, Sub bab ini juga akan membahas mengenai batasan spesifik dari aplikasi yang akan dibangun. 3.6.1 Model Use case Use case di sini mengacu pada analisis umum sistem yang terdapat pada Sub bab 3.1 dan aliran data pada fitur-fitur aplikasi yang terdapat pada Sub bab 3.2. 3.6.1.1 Diagram Use case Gambar III-10 berikut akan memvisualisasikan diagram use-case dari aplikasi yang akan dibuat. AdminHost mewakili admin yang menjalankan fitur aktif, dan AdminClient mewakili admin yang menjalankan fitur pasif. Sedangkan masing-masing use case menggambarkan proses yang dilakukan di dalam sistem.
System InfoManager
AdminLogin
AdminHost BroadcastInfo
ReviewInfo <
>
GetInfo
Pengguna Non-Admin
AdminClient SearchInfo
ViewInfo
Gambar III-10 Use case kebutuhan aplikasi
Sebagai keterangan, use case GetInfo selalu mengaktifkan fitur .use case SearchInfo setiap kali use case tersebut dijalankan, sehingga digambarkan memiliki keterhubungan include di dalam diagram use case tersebut.
III-17 3.6.1.2 Definisi Aktor Sistem ini memiliki tiga jenis aktor yang melakukan interaksi terhadapnya. Setiap aktor memiliki perannya masing-masing dalam sistem ini, dan hal tersebut dijabarkan pada Tabel III-2. Tabel III-2 Definisi aktor dalam use case aplikasi
No 1
Aktor AdminHost
2
AdminClient
3
Pengguna non-admin
Deskripsi Penanggung jawab knowledge base host yang memiliki kewenangan untuk melakukan perubahan dan penambahan informasi pada knowledge base tersebut. AdminHost adalah klasifikasi seorang admin ketika menjalankan fitur-fitur yang sifatnya aktif, yaitu GetInfo, BroadcastInfo, dan ViewInfo Penanggung jawab knowledge base client yang memiliki kewenangan untuk melakukan perubahan dan penambahan informasi pada knowledge base tersebut. AdminClient adalah klasifikasi seorang admin ketika menjalankan fitur-fitur yang sifatnya pasif, yaitu ReviewInfo. Pengguna biasa dari knowledge base yang kewenangannya sebatas melihat informasi dan mencari informasi dari jaringan knowledge base.
3.6.1.3 Definisi Use case Tabel III-3 merupakan penjabaran dari masing-masing use case yang terdapat pada sistem ini. Masing-masing use case mewakili sebuah fitur yang telah didefinisikan pada Sub bab 3.2. Tabel III-3 Definisi use case
No Use case 1 ViewInfo 2
SearchInfo
3
GetInfo
4
BroadcastInfo
5
ReviewInfo
Deskripsi Menampilkan informasi yang terdapat pada knowledge base host sesuai dengan klasifikasi tertentu. Melakukan pencarian informasi dengan kata kunci tertentu di dalam knowledge base client atas permintaan knowledge base host. Hasil pencarian terbaik kemudian akan dikirimkan kepada knowledge base host yang memberikan permintaan. Mencari informasi dengan kata kunci tertentu pada jaringan knowledge base dengan tujuan untuk menambahkan informasi tersebut ke dalam knowledge base host. Mengirim informasi yang dimiliki oleh knowledge base host kepada seluruh anggota jaringan knowledge base. Informasi tersebut kemudian akan direview oleh admin masing-masing knowledge base client. Memproses informasi yang dikirimkan oleh knowledge base
III-18 No Use case
6 7
AdminLogin InfoManager
Deskripsi host menggunakan fitur BroadcastInfo. Admin akan menentukan apakah informasi yang diterima layak dimasukkan ke dalam knowledge base atau tidak. Melakukan autentikasi admin melalui username dan password Melakukan manajemen informasi yang terdapat di dalam knowledge base.
3.6.1.4 Skenario Use case Di dalam Sub bab ini, akan dijabarkan mengenai skenario dari setiap use case yang ada. Tabel III-4 merupakan skenario dari use case ViewInfo, Tabel III-5 merupakan skenario dari use case SearchInfo, Tabel III-6 merupakan skenario dari use case GetInfo, Tabel III-7 merupakan skenario dari use case BroadcastInfo, Tabel III-8 merupakan skenario dari use case ReviewInfo, Tabel III-9 merupakan skenario dari use case InfoManager. Tabel III-4 Skenario use case ViewInfo Skenario Normal Use case ViewInfo Aktor 1. Memilih menu ViewInfo
AplikasiHost 2. Menampilkan list topic yang ada dan meminta pengguna untuk memilih topic tertentu yang diinginkan.
3. Memilih topic tertentu 4. Menampilkan list informasi dari topik yang dipilih oleh pengguna 5. Memilih salah satu informasi 6. Menampilkan isi informasi beserta nilai kepercayaan serta form untuk pengisian nilai kepercayaan tersebut 7. Mengisi nilai kepercayaan dalam form yang disediakan 8. Memasukkan nilai kepercayaan yang diberikan ke dalam repositori knowledge base.
Tabel III-5 Skenario use case SearchInfo Skenario Normal Use case SearchInfo AplikasiHost
AplikasiClient
III-19 Skenario Normal Use case SearchInfo AplikasiHost 1. Fitur GetInfo mengirimkan kata kunci dan perintah pencarian kepada aplikasi client
AplikasiClient
2. Mengaktifkan fitur SearchInfo untuk melakukan pencarian di dalam knowledge base client. 3. Hasil pencarian terbaik kemudian dikirimkan kembali kepada aplikasiHost untuk diproses lebih lanjut 4. Fitur GetInfo menerima dan memproses informasi yang diterima Skenario Alternatif Use case SearchInfo 3. Pencarian tidak menghasilkan informasi. Memberikan informasi kepada knowledge base host bahwa kata kunci yang diberikan tidak menghasilkan informasi. 4. Fitur GetInfo menerima laporan dari fitur SearchInfo
Tabel III-6 Skenario use case GetInfo Skenario Normal Use case GetInfo Aktor AplikasiHost 1. Memilih menu GetInfo 2. Menampilkan menu GetInfo. Berisi form untuk diisikan tentang keterangan informasi yang dicari 3. Mengisi form keterangan informasi yang dibutuhkan 4. Memformat informasi dan mengirimkannya dengan bentuk pesan ke dalam jaringan knowledge base
AplikasiClient
5. Menggunakan use case SearchInfo untuk melakukan pencarian informasi 6. Menerima dan mengurutkan informasi yang diterima berdasarkan tingkat kepercayaan yang dimiliki 7. Menampilkan list berisi informasi yang diterima yang telah terurut 8. Memilih salah satu informasi
III-20 Skenario Normal Use case GetInfo Aktor AplikasiHost yang terdapat pada list 9. Melakukan pengecekan apakah pengguna fitur adalah admin / pengguna non-admin. Jika admin, meneruskan ke skenario alternatif 2, jika tidak, melanjutkan ke skenario alternatif 3. Skenario Alternatif 2 Use case GetInfo 10. Menampilkan informasi tanpa opsi untuk memasukkan informasi ke dalam knowledge base. Skenario Alternatif 3Use case GetInfo 10. Menampilkan informasi dengan opsi untuk memasukkan informasi ke dalam knowledge base dan mendelete informasi dari knowledge base sementara. 11. Menyetujui informasi untuk dimasukkan knowledge base 12. Memasukkan informasi beserta data terkait ke dalam repositori knowledge base Skenario Alternatif 4 Use case GetInfo 11. Tidak menyetujui informasi untuk dimasukkan ke dalam repositori 12. Kembali ke langkah 11 skenario alternatif
AplikasiClient
Tabel III-7 Skenario use case BroadcastInfo Skenario Normal Use case BroadcastInfo Aktor AplikasiHost 1. Memilih menu BroadcastInfo 2. Menampilkan list informasi beserta hierarki topic yang dimiliki 3. Memilih informasi yang akan dikirimkan kepada jaringan knowledge base 4. Memformat informasi tersebut dan mengirimkannya ke
AplikasiClient
III-21 jaringan knowledge base 5. Menerima informasi tersebut dan menaruhnya dalam basis data sementara
Tabel III-8 Skenario use case ReviewInfo Skenario Normal Use case ReviewInfo Aktor 1. Memilih menu ReviewInfo
AplikasiClient 2. Menampilkan informasi-informasi yang berada pada Tabel data sementara hasil kiriman dari knowledge base lainnya
3. Memilih salah satu informasi yang ada 4. Menampilkan informasi, data-data terkait , dan form konfirmasi untuk memasukkan informasi tersebut ke dalam knowledge base 5. Menyetujui untuk memasukkan informasi 6. Menuliskan informasi ke dalam repositori knowledge base dan menghapus informasi tersebut dari basis data sementara 7. Kembali ke langkah 2 skenario normal sampai tidak ada informasi pada Tabel data sementara Skenario Alternatif Use case ReviewInfo 5. Tidak menyetujui untuk memasukkan informasi ke dalam repositori knowledge base 6. Menghapus informasi tersebut dari Tabel data sementara 7. Kembali ke langkah 2 skenario normal sampai tidak ada lagi informasi pada Tabel data sementara
Tabel III-9 Skenario use case InfoManager Skenario Normal Use case InfoManager Aktor 1. Memilih menu InfoManager
AdminHost 2. Menampilkan list informasi yang akan di maintenance dan pilihan untuk memasukkan informasi baru
3. Memilih salah satu informasi yang ada 4. Menampilkan informasi secara lengkap, siap untuk dimaintenance 5. Memilih untuk melakukan salah satu dari
III-22 fungsi-fungsi maintenance yang ada 6. Menuliskan informasi yang sudah di maintenance oleh adminhost ke dalam knowledge base. Skenario Alternatif Use case InfoManager 3.Memilih untuk memasukan informasi yang baru 4. Menampilkan form pengisian informasi ke layar 5. Memasukkan informasi ke dalam form yang telah tersedia dan melakukan save 6. Melakukan penulisan informasi yang telah dimasukkan tersebut ke dalam knowledge base.
3.6.2 Sequence Diagram Diagram-diagram yang terdapat pada Sub bab 3.5.2.1 sampai dengan Sub bab 3.5.2.7 adalah diagram sekuens analisis yang dibuat berdasarkan skenario use case. Masing-masing skenario akan digambarkan dengan sebuah diagram sekuens analisis. 3.6.2.1 Sequence Diagram Use case ViewInfo : ViewInfo
: DB
: AdminHost 1 : mengaktifkan fitur viewinfo() 2 : meminta list topic() 3 : mengembalikan list topic() 4 : menampilkan list topic() 5 : memilih salah satu topic yang ada() 6 : meminta list informasi berdasarkan topik()
7 : mengembalikan list informasi() 8 : menampilkan list informasi() 9 : memasukkan nilai kepercayaan() 10 : memasukkan nilai kepercayaan ke dalam knowledge base()
Gambar III-11 Diagram sekuens analisis dari use case ViewInfo
III-23 Proses yang terdapat pada Gambar III-11 seluruhnya terjadi pada knowledge base host. Proses dilakukan dari pengaktifan fitur ViewInfo, yang dilanjutkan dengan pemilihan topik informasi dari list yang tersedia. Tahap selanjutnya adalah untuk melihat informasi secara lebih mendetail. Diagram sekuens ini diakhiri dengan memasukkan nilai kepercayaan tertentu pada informasi yang telah dilihat secara detail. Use case ini juga berlaku untuk aktor pengguna non-admin. Tidak ada perbedaan dari admin dengan pengguna non-admin dalam penggambaran diagram sekuens. 3.6.2.2 Sequence Diagram Use case GetInfo : GetInfo
: WSHost
: DB
: WSClient
: SearchInfo
: AdminHost 1 : memberikan kata kunci untuk pencarian informasi() 2 : mengolah kata kunci dan perintah pencarian dalam pesan() 3 : mengirimkan pesan ke knowledge base client() 4 : mengaktifkan searchinfo dengan kata kunci() 5 : mengembalikan informasi terbaik berdasarkan kata kunci() 6 : mengirimkan informasi ke knowledge base host() 7 : memberikan informasi hasil pencarian() 8 : memperlihatkan informasi terurut nilai kepercayaan() 9 : memilih informasi tertentu() 10 : menuliskan informasi terpilih ke dalam knowledge base()
Gambar III-12 Diagram sekuens analisis dari use case GetInfo
Gambar III-12 merupakan visualisasi dari skenario use case GetInfo. Proses yang terdapat di dalam use case ini dimulai dari pemberian kata kunci pada antarmuka GetInfo. Kata kunci ini kemudian diberikan kepada knowledge base client untuk diproses. Setelah pemrosesan pada knowledge base client selesai, informasi yang dihasilkan masingmasing knowledge base client dikirimkan kembali untuk digabungkan dan diurutkan. Informasi terbaik kemudian akan dimasukkan ke dalam knowledge base host.
III-24 Untuk use case GetInfo, pengguna biasa memiliki perbedaan kepentingan dengan admin. Di sini terdapat perbedaan wewenang, dimana pengguna non-admin tidak dapat memasukkan informasi ke dalam knowledge base. Pengguna non-admin hanya dapat menggunakan fitur ini untuk melihat informasi yang dimiliki oleh knowledge base lain dengan kata kunci tertentu. 3.6.2.3 Sequence Diagram Use case BroadcastInfo : BroadcastInfo
: WSHost
: WSClient
: DB
: AdminHost 1 : mengaktifkan fitur broadcastinfo() 2 : membungkus informasi dalam bentuk pesan() 3 : mengirimkan pesan kepada knowledge base client() 4 : memberikan informasi untuk diproses()
Gambar III-13 Diagram sekuens analisis dari use case BroadcastInfo
BroadcastInfo dilakukan dengan visualisasi seperti pada Gambar III-13. Sebuah knowledge base memilih sebuah informasi untuk kemudian dikirimkan melalui WSHost menuju semua knowledge base lainnya. Informasi diterima oleh WSHost untuk kemudian dituliskan pada Tabel TempData.
III-25 3.6.2.4 Sequence Diagram Use case ReviewInfo : ReviewInfo
: DB
: AdminClient 1 : mengaktifkan fitur reviewinfo() 2 : meminta list informasi yang ada pada tempdata()
3 : mengembalikan list informasi() 4 : menampilkan list informasi() 5 : menentukan jenis proses informasi() 6 : melakukan pemrosesan informasi()
Gambar III-14 Diagram sekuens analisis dari use case ReviewInfo
Gambar III-14 menggambarkan fitur ReviewInfo. Admin akan melihat informasi yang terdapat pada Tabel TempData untuk dinilai kualitasnya, dan diproses sesuai dengan kebutuhan informasi dari knowledge base. Setelah selesai diproses, informasi yang terdapat pada TempData akan dihapus. 3.6.2.5 Sequence Diagram Use case SearchInfo
: WSClient
: SearchInfo
: DB
1 : menyampaikan perintah pencarian dan kata kunci dari KB host() 2 : melakukan pencarian informasi berdasarkan kata kunci()
3 : mengirimkan hasil pencarian() 4 : memberikan informasi terbaik dari hasil pencarian untuk dikirimkan ke KB host()
Gambar III-15 Diagram sekuens analisis dari use case SearchInfo
III-26 Gambar III-15 menggambarkan use case SearchInfo yang digunakan oleh use case lainnya, yaitu GetInfo. Use case SearchInfo akan menerima pesan pencarian dan kata kunci dari WSClient, memproses kata kunci tersebut, dan mengembalikan informasi terbaik yang dimiliki oleh knowledge base tersebut berdasarkan kata kunci yang ada. Informasi terbaik ditentukan dengan melihat keterkaitan antara informasi dengan topik pencarian dan nilai trust_value yang terdapat pada setiap informasi tersebut. 3.6.2.6 Sequence Diagram Use case InfoManager
: InfoManager
: DB
: AdminHost 1 : mengaktifkan fitur InfoManager()
2 : meminta list informasi()
3 : mengembalikan list informasi() 4 : menampilkan list informasi() 5 : melakukan maintenance informasi / menuliskan informasi baru() 6 : menuliskan informasi yang telah di maintenance oleh admin()
Gambar III-16 Diagram sekuens analisis dari use case InfoManager
Gambar III-16 menggambarkan use case InfoManager yang digunakan oleh adminhost untuk melakukan maintenance informasi pada knowledge base. Use case ini akan memperlihatkan list informasi kepada admin. Admin kemudian akan memilih salah satu informasi untuk diperbaiki atau dihapus melalui form yang tersedia. Admin juga memiliki opsi untuk menuliskan informasi baru ke dalam knowledge base melalui use case ini.
III-27 3.6.2.7 Sequence Diagram Use case AdminLogin
<> AdminLogin
<> Validator
<<entity>> AdminData
: AdminHost 1 : memasukkan username dan password() 2 : mengirimkan data untuk divalidasi() 3 : pengambilan data admin()
4 : pemberian data admin() 5 : menampilkan pesan hasil validasi()
Gambar III-17 Diagram sekuens analisis untuk use case AdminLogin
Gambar III-17 memvisualisasikan proses seorang admin ketika melakukan otentifikasi diri dengan login ke dalam aplikasi. Aplikasi kemudian akan mengecek data pada dan hasilnya akan diberikan berupa pesan kepada admin tersebut. Jika autentikasi berhasil, maka pengguna tersebut akan memiliki akses ke dalam menu-menu yang dikhususkan kepada admin.
III-28 3.6.3 Class Diagram Analisis
WSClient
SearchInfo
ViewInfo
ReviewInfo
WSHost
Login
GetInfo
BroadcastInfo
InfoManager
DB
Topic
Info
Assoc
Assoc_Types
Occurence
TempData
Gambar III-18 Diagram kelas analisis
Gambar III-18 menyatakan diagram kelas analisis dari aplikasi. Diagram kelas ini merupakan hasil dari identifikasi objek-objek yang terdapat pada diagram use case serta diagram sekuens yang terdapat pada Sub bab 3.6.1 dan Sub bab 3.6.2. Keterangan mengenai kelas-kelas yang dapat diidentifikasi melalui diagram kelas analisis di atas adalah sebagai berikut: 1. Kelas kontrol DB Merupakan kelas yang membungkus seluruh entitas pada knowledge base. Hal ini perlu dilakukan untuk mengenkapsulasi seluruh entitas dan memudahkan pengaksesan. 2. Kelas kontrol WSHost Merupakan kelas representasi dari protokol komunikasi web service untuk knowledge base host. Bersama WSClient membentuk protokol komunikasi di dalam jaringan knowledge base.
III-29 3. Kelas kontrol WSClient Merupakan kelas representasi dari protokol komunikasi web service untuk knowledge base client. Bersama WSHost membentuk protokol komunikasi di dalam jaringan knowledge base. 4. Kelas kontrol SearchInfo Merupakan kelas yang melakukan pencarian internal pada sebuah knowledge base atas perintah dari knowledge base lain. Kelas ini juga menentukan informasi terbaik yang dihasilkan oleh suatu pencarian. 5. Kelas viewer ViewInfo Kelas ini memiliki fungsi utama untuk menjalankan fitur ViewInfo. Di dalamnya termasuk menampilkan antarmuka fitur ViewInfo dan menjalankan fungsi-fungsi pendukung fitur ViewInfo. 6. Kelas viewer GetInfo Kelas ini memiliki fungsi utama untuk menjalankan fitur GetInfo. Di dalamnya termasuk menampilkan antarmuka fitur GetInfo dan menjalankan fungsi-fungsi pendukung fitur tersebut. 7. Kelas viewer BroadcastInfo Kelas ini memiliki fungsi utama untuk menjalankan fitur BroadcastInfo. Di dalamnya termasuk menampilkan antarmuka untuk fitur BroadcastInfo dan menjalankan fungsifungsi pendukung fitur tersebut. 8. Kelas viewer ReviewInfo Kelas ini memiliki fungsi utama untuk menjalankan fitur ReviewInfo. Di dalamnya termasuk menampilkan antarmuka untuk fitur ReviewInfo dan menjalankan fungsi-fungsi pendukung fitur tersebut.
III-30 9. Kelas viewer AdminLogin Kelas ini memiliki fungsi untuk autentikasi admin knowledge base. 10. Kelas viewer InfoManager Kelas ini memiliki fungsi untuk menangani hal-hal terkait dengan perawatan informasi yang terdapat di dalam knowledge base. Perawatan informasi ini mencakup penambahan informasi, perubahan informasi sampai dengan penghapusan informasi dapat dilakukan di dalam kelas ini. 11. Kelas entitas Topic Kelas ini merupakan representasi dari Tabel topic pada knowledge base. Merupakan entitas yang menyimpan klasifikasi informasi. 12. Kelas entitas Info Kelas ini merupakan representasi dari Tabel info pada knowledge base. Merupakan entitas yang menyimpan informasi beserta metadata terkait. 13. Kelas entitas Assoc Kelas ini merupakan representasi dari Tabel assoc pada knowledge base. Merupakan entitas yang menyimpan hubungan antar topik di dalam knowledge base. 14. Kelas entitas Assoc_types Kelas ini merupakan representasi dari Tabel assoc_types pada knowledge base. Merupakan entitas yang menyimpan jenis dari keterkaitan antara topik dan informasi di dalam knowledge base. 15. Kelas entitas Occurence Kelas ini merupakan representasi dari Tabel occurence pada knowledge base. Merupakan entitas yang menyimpan hubungan antara topik dan informasi.
III-31 16. Kelas entitas TempData Kelas ini merupakan representasi dari Tabel tempdata pada knowledge base. Merupakan entitas yang menyimpan informasi sementara untuk kemudian dihapus kembali atau dimasukkan ke dalam knowledge base.