knowledge

advertisement
BAB 3
ANALISIS DAN PERANCANGAN
3.1
Analisis
3.1.1
Gambaran Umum Masalah
Distribuasi pengetahuan (knowledge) dalam kehidupan umum belum
dapat dilakukan secara efektif. Kumpulan pengetahuan-pengetahuan yang
ada dalam masyarakat (knowledge base) belum dapat diatur dan di manage
dengan baik, sehingga ketika seseorang ingin menggunakan atau memperoleh
pengetahuan
atau
pengetahuannya,
dia
pun
ingin
mungkin
menyebarkan
akan
atau
menemukan
mendistribusikan
berbagai
kendala.
Pengetahuan-pengetahuan yang dimiliki sulit untuk diakusisikan, sehingga
tidak bisa secara maksimal digunakan karena tidak ada media yang dapat
digunakan secara bersama untuk mengakuisisi pengetahuan-pengetahuan
tersebut. Hal ini juga memungkinkan terjadinya duplikasi ataupun
pengulangan yang tidak diinginkan, misalkan saja ketika seorang dokter
sudah menemukan solusi untuk penyakit tertentu, tetapi ditempat lain, ada
dokter yang masih meneliti penyakit tersebut. Keinginan orang-orang untuk
dapat memperoleh informasi pengetahuan dan solusi secara cepat dan tepat,
dimana kumpulan pengetahuan dan solusi untuk masalah tersebut belum
dapat dihadirkan ke subyek yang dibutuhkan secara mudah, merupakan
masalah-masalah penting yang perlu di tindak lanjuti.
28
29
3.1.2
Usulan Pemecahan Masalah
Berdasarkan permasalahan tersebut, kami mengusulkan pemecahan
masalah dengan mengembangkan aplikasi Knowledge Based System
Generator. Dengan adanya Knowledge Management dan penerapannya
dalam Knowledge Based System Generator diharapkan dapat membantu
masyarakat secara umum baik itu dari pihak para pakar, maupun pengguna
informasi atau pengetahuan untuk mengaktualisasikan potensi-potensi
knowledge secara efektif. Pentingnya manajemen terhadap knowledge
merupakan bagian penting dari penulisan ini, dengan adanya proses
knowledge management yang baik, diharapkan dapat membantu memberikan
solusi yang efektif dan efisien dalam membentuk,
memperoleh,
memperbaharui, menyimpan, menangani, dan menyebarluaskan knowledge,
sehingga dapat selalu uptodate terhadap permasalahan yang ada. Dengan
Knowledge Based System Generator kita bisa memanfaatkan teknologi
informasi dalam menyebarkan knowledge dan memperolehnya dimana dan
kapan saja, dalam suatu media yang teroganisir (database). Dengan data
yang bisa diperoleh dimana saja dan kapan saja tentu akan mempermudah
para pakar dan pengguna informasi, dan dengan data yang selalu
diperbaharui dan dinamis, akan sangat membantu perkembangan kualitas
knowledge yang disampaikan.
Knowledge Based System Generator merupakan sistem yang
dirancang
untuk
memenuhi
kebutuhan
dalam
pendistribusian
dan
30
pengakuisisian knowledge atau pengetahuan. Knowledge Based System
Generator didasarkan pada tiga tahapan :
a. System builder
Builder disini adalah suatu sistem yang dirancang untuk mengakuisisi
pengetahuan yang akan di input oleh parah pakar atau profesional yang
nantinya
akan
di
masukkan
kedalam
kategori-kategori
bidang
permasalahan. Builder ini mempunyai dua tiga proses utama yaitu :
1. pembentukan category
category ditujuan untuk memilah topik-topik permasalahan
menjadi
bagian
yang
spesifik,
untuk
mempermudah
pengorganisasian bidang permasalahan.
2. pembentukan statement
Statement disini adalah informasi dan pengetahuan yang diberikan
pengguna builder untuk membentuk suatu rangkaian pertanyaan
ataupun pernyataan, yang nantinya akan disimpan ke dalam suatu
database.
Rangkaian
pertanyaan
dan
pernyataan
tersebut
diperlukan untuk membentuk suatu basis pengetahuan dan
digambarkan dalam bentuk tree of statement. Dari tree of
statement itu dapat dilihat semua statement yang dibuat oleh
builder. Nantinya statements ini akan di hubungkan satu sama lain
melalui rules. Statement itu sendiri terdiri atas input-input yang
berupa pilihan (choices), text, command button, variable dsb.
Statement juga dapat digunakan untuk melakukan perhitungan
31
terhadap input-input yang dibentuk dalam statement melalui
variable.
3. pembentukan rule
Rule diperlukan untuk membuat hubungan antara satu statement
dengan statement yang lainnya. Berdasarkan rules inilah nantinya
Knowledge Based System Generator dapat memberikan konklusi
ataupun jawaban terhadap pertanyaan dari client. Proses
pembentukan rules dilakukan dengan cara mendefenisikan rule
(aturan) terhadap input-inputan dari pembentukan statement.
Builder ini lah yang nantinya membentuk suatu database hasil akuisisi
pengetahuan yang digunakan untuk client application yang berisi
kumpulan statement dan rule yang dibuat tadi.
b. Client application
Client application diperlukan untuk kebutuhan end user. Data yang
digunakan pada client application adalah data yang terbentuk oleh system
builder. Pada client application end user dapat memilih kategori sesuai
dengan keinginannya. Dengan aplikasi ini user diharapkan dapat
menemukan konklusi terhadap permasalahannya, selain itu juga client
application dirancang untuk melakukan archiving sehingga ada data
history penggunaan terhadap kategori itu berdasarkan masing-masing
user.
32
c. Knowledge distribution
Diperlukan untuk proses distribusi knowlegde, dimana knowledge yang
terakusisi dan terorganisir dalam bentuk kategori pada database dapat
distribusikan dengan database lainnya. Disribusi yang dilakukan
merupakan pemindahan atau penyalinan per kategori.
Knowledge Based System Generator dengan ini diharapkan untuk
dapat menjadi suatu jembatan penghubung antara pengetahuan dan informasi
antara para pakar ataupun profesional dengan user atau orang awam maupun
antara sesama pakar, sehingga interaksi diantaranya dapat dilakukan dengan
pengaruh yang relatif kecil akan waktu dan lokasi. Hal ini dimungkinkan
karena informasi yang sudah ada dapat digunakan kapan saja dan dimana
saja. Selain itu Knowledge Based System Generator juga dapat melakukan
pendistribusian knowledge, sehingga dapat membantu agar knowledge itu
selalu accessible, uptodate, dan accurate. Ini akan sangat membantu kedua
sisi yaitu pakar dan khalayak umum untuk dapat memperoleh knowledge
yang berkualitas.
33
3.2
Perancangan
3.2.1
Rancangan Umum Program
Perancangan knowledge sistem generator terbagi atas 3 modul / aplikasi
utama :
1. Builder
Modul builder ditujukan terutama untuk para pakar atau pun
profesional dibidangnya, contohnya dokter, mekanik, dsb. Disini
pakar akan melakukan input ataupun modifikasi terhadap
knowledge
yang
diimplementasikan
dalam
pembentukan
statement dan rules pada IDE dari builder. Statement dan rules ini
akan disimpan dalam database, yang nantinya akan dimanfaatkan
oleh modul client dan distribution.
2. Client
Modul client ditujukan terutama untuk end user, contohnya
khalayak umum yang membutuhkan knowledge mengenai bidang
tertentu, misalnya masalah penyakit yang dideritanya. Client ini
memanfaatkan data yang dibentuk oleh builder yang tersimpan
dalam database. Dengan data ini aplikasi client dapat menjawab
pertanyaan yang diajukan end user sesuai dengan kapasitas
knowledge yang ada didalam database tersebut. Modul client juga
menyimpan archive terhadap setiap input yang dilakukan masingmasing user, sehingga dapat melihat history input yang sudah
dilakukan user.
34
3. Distribution
Modul distribution ditujukan terutama untuk pakar dalam
mendistribusikan knowledge nya. Pendistribusian ini dilakukan
dengan cara meng copy, atau memindahkan knowledge yang
sudah terkategorisasi (category) antara satu database ke database
yang lainnya, dengan ini antara pakar dapat saling menambahkan
knowledge, sehingga knowledge diharapkan dapat selalu uptodate
dan accurate.
Masing-masing bagian berhubungan dengan knowledge database sebagai
tempat penyimpanan utama dari knowledge (knowledge base). Penggunaan
builder dan distribution ditujukan terutama untuk pakar atau pun profesional,
yaitu mereka yang sebagai sumber knowledge. Sedangkan client ditujukan
untuk end user, dalam hal ini adalah khalayak umum. Hubungan diantaranya
digambarkan pada Gambar 3.1.
35
Input , m
odi f
knowledg y
e
Distribute knowledge category
Builder
Pakar
fy
modi
,
e
t
Cr ea wledge
kno
KNOWLEDGE
DATABASE
G
e
t
know
led
arch ge and
ive
Client
Distribution
e y
ov gor
m
d at e
n
c
a
d ge
d
A led
ow
kn
dge
e
l
ow
kn
e
Us
End User
Gambar 3.1 Rancangan Model Sistem
3.2.2 Rancangan Proses
Perancangan proses terbagi atas dua bagian, yaitu hirarki proses yang
menggambarkan hirarki proses dari masing-masing modul (builder, client,
distribution) dan juga spesifikasi proses yang menjelaskan fungsi-fungsi
penting yang terdapat pada aplikasi.
36
3.2.2.1
Hirarki Proses
Hirarki proses untuk modul builder dapat dilihat pada Gambar
3.2, sedangkan untuk modul client dapat dilihat pada Gambar 3.3,
dan untuk modul distribution dapat dilihat pada Gambar 3.4.
BUILDER
PROCESS DIAGRAM
main screen
new database
open database
category
list
add category
edit category
delete category
pick category
category
information
+
statement list
add statement
from template
edit statement
blank statement
STATEMENT
IDE FORM
insert component
component
properties
add rule
delete statement
RULE SET
IDE FORM
delete rule
delete component
Gambar 3.2 Hirarki Proses dari Builder Module
37
Pada Gambar 3.2, user (dalam hal ini pakar sebagai pengguna
builder) terlebih dahulu harus membuka atau membuat database.
Setelah itu akan terlihat list dari kategori-kategori yang terdapat
pada database itu, tentunya untuk database yang baru belum
terdapat kategori. User kemudian dapat melakukan add
(menambahkan) kategori, atau melakuan edit (mengubah) atau
delete (menghapus) terhadap kategori yang sudah ada / dibuat.
Setelah itu user dapat memilih kategori yang dibuatnya untuk
kemudian melakukan add (menambahkan) statement, ataupun
melakukan edit (mengubah), atau delete (menghapus) terhadap
statement yang sudah dibuat / ada. User dapat menambahkan
statement yang baru atau membuatnya dari template yang sudah
ada. Pengubahan statement dilakukan melalui form IDE
statement, yang terdapat pada aplikasi builder dimana user dapat
melakukan add (menambahkan) component, atau melakuan edit
(mengubah) component maupun property nya atau delete
(menghapus) terhadap
component yang sudah ada / dibuat.
Component disini merupakan tipe input yang dibuat oleh user
dapat berupa groupbox, text, editbox, command button, radio
button, checkbox, ataupun image. User kemudian membuat rule
terhadap masing-masing statement yang akan diterapkan pada
component nya. Penerapan rule dapat dilakukan pada component
38
seperti editbox, command button, checkbox, ataupun radiobutton
yang dilakukan pada IDE Rule.
CLIENT
PROCESS DIAGRAM
main + login
screen
Choose Category
and Starting Point
Menu
Quit - End
Program
Knowledge
Simulator Dialog
Gambar 3.3 Hirarki Proses dari Client Module
Pada Gambar 3.3 proses yang terjadi adalah user ( dalam hal ini
khalayak umum) terlebih dahulu login, login digunakan untuk
menyimpan archive yang dilakukan oleh tiap-tiap user yang login
kedalam aplikasi. Setelah user login, akan ditampilkan pilihan
kategori, user dapat memilih kategori yang dikehendakinya, atau
dapat juga keluar dari program dengan menekan tombol quit. Jika
user sudah memilih kategori dan start statenya. Maka akan
dilanjutkan ke simulator dialog, dimana user akan diminta
39
menjawab pertanyaan-pertannyaan yang ada dikategori tersebut,
sampai kepada suatu kesimpulan dari hasil jawaban user.
DISTRIBUTION
PROCESS DIAGRAM
main screen
open
left / right
database
focus left side
database
move category
to right side
copy category
to right side
focus right side
database
delete category
move category
to left side
copy category
to left side
delete category
Gambar 3.4 Hirarki dari Distribution Module
Proses yang terjadi pada Gambar 3.4, yaitu user (dalam hal ini
pakar yang akan melakukan pendistribusian knowledge) membuka
dua buah database, yaitu database sumber dan database target.
Bisa dilakukan pada dua pane, yaitu right pane dan left pane
setelah dibuka maka masing-masing pane akan ditampilakn
40
category list dari database yang dibuka. Setelah itu user dapat
melakukan peng copy-an atau pemindahan (move) terhadap
category list yang ada di database source ke database target, atau
menghapus kategori yang ada baik pada database source atau
target.
41
3.2.2.2
Spesifikasi Proses
Untuk menjelaskan proses dari modul-modul yang kami buat,
yaitu untuk builder module dapat dilihat pada Gambar 3.5 s/d
Gambar 3.6, sedangkan untuk client modul pada Gambar 3.7.
Untuk lebih detail mengenai spesifikasi proses dapat dilihat pada
lampiran.
Module TMainForm.MenuOpenClick
Begin
Jalankan OpEndialog1
Jika Memilih File
Begin
Buka GlobalModule.DatabaseConnection Berdasarkan OpEndialog1.FileName
Aktifkan Menu Close
Aktifkan Menu Category
Aktifkan Menu Statement
Aktifkan Menu Rules
NonAktifkan Menu Open
NonAktifkan Menu New
End
End
Module TMainForm.MenuCloseClick
Begin
NonAktifkan Menu Close
NonAktifkan Menu Category
NonAktifkan Menu Statement
NonAktifkan Menu Rules
Aktifkan Menu Open
Aktifkan Menu New
Hilangkan item FrmViewCategory.TreeViewStatementList
Hilangkan item FrmViewCategory.TreeViewStatementTree
Hilangkan Form FrmEditorRules
Hilangkan Form FrmEditorInput
Close DatabaseConnection
End
Module TMainForm.MenuOpenClick
Begin
Jika Jalankan SaveDialog1 = True maka
Begin
Copy dan rename file Database yang kosong disiapkan ke
SaveDialog1.Filename
Buka GlobalModule.DatabaseConnection Berdasarkan OpEndialog1.FileName
Aktifkan Menu Close
Aktifkan Menu Category
Aktifkan Menu Statement
Aktifkan Menu Rules
NonAktifkan Menu Open
NonAktifkan Menu New
End
End
Gambar 3.5 Builder - Proses membuka, membuat baru, dan menutup database
42
Module TGlobalModule.DatabaseConnectionAfterConnect
Begin
Open FrmViewCategory.ADODataSetCategory, Query ambil kategori pada Viewer
Aktifkan Menu NewCategory pada MainForm
End
Module TFrmViewCategory.ADODataSetCategoryAfterConnect
Begin
Jika State ADODataSetCategory = browse dan FlagAddEdit = False maka
Begin
Jika FrmEditorRules Ada maka
Hilangkan FrmEditorRules
Jika
FrmEditorInput <> nil maka
Hilangkan FrmEditorInput
Buat item TreeViewStatementList tidak ada yang dipilih
Buat item TreeViewStatementTree tidak ada yang dipilih
Panggil Module CreateStatement
Panggil Module CreateStatementTree
Jika ADODataSetCategory tidak kosong maka
Begin
Aktifkan Menu NewStatement pada MainForm
Aktifkan Menu NewFromTemplate pada MainForm
End
End
End
Module TFrmViewCategory.DataSourceADODataSetCategoryChange
Begin
Jika ADODataSetCategory tidak kosong maka
Begin
Jika ADODataSetCategory['IdCategory']='Template' maka
Begin
NonAktifkan Menu EditCategory pada MainForm
NonAktifkan Menu DeleteCategory pada MainForm
End
Jika Tidak
Begin
Aktifkan Menu EditCategory pada MainForm
Aktifkan Menu DeleteCategory pada MainForm
End
End
End
Gambar 3.6 Builder - Proses aktifasi viewer
43
Module TForm1.btnLoginClick
Variabl module
str1,str2:Variant
Begin
str1 = Edit1.Text
str2 =Edit2.Text
if str2 = '' then
str2 = Null
Jika cari item ADODataSet1 'IdUser’= str1 dan Password =’str2’ ada maka
Begin
FrmInput.UserId = Edit1.text
Tampilkan Form pilih kategory dan start point
End
Else
Begin
ShowMessage('Invalid UserId / Password ')
End
End
Gambar 3.7 Client - User login
3.2.3 Rancangan Database
Menentukan kebutuhan informasi dan mengatur kelompok informasi ke
dalam bentuk-bentuk yang mudah dibuat dan diidentifikasikan merupakan hal utama
yang diperlukan dalam suatu perancangan sistem. Proses pengelompokkan
informasi, menentukan atribut-atributnya serta menerangkan identitas informasi
tersebut memerlukan analisa yang cukup dalam, agar kebutuhan informasi sistem
dapat dipenuhi. Proses ini dilakukan dengan membentuk struktur tabel dan dengan
bantuan metode ERD (Entity Relationship Diagram) yang selanjutnya menghasilkan
Data Dictionary, yaitu deskripsi umum mengenai struktur basis data.
44
3.2.3.1
Struktur Tabel
Untuk menyimpan data yang dibutuhkan oleh aplikasi digunakan tabel-tabel
category, statement, rules, detailrules, input, user archive, dan user yang
dapat dilihat pada Tabel 3.1 s/d Tabel 3.7.
Tabel 3.1 Tabel Category
Nama tabel
:
Category
Keterangan
Primary Key
:
:
terdiri atas field-field kategori bidang permasalahan dan
keterangannya
IdCategory
Field
Tipe Data
Keterangan
IdCategory
Text
id dari kategori
Keterangan
Text
Keterangan dari id kategori
Tabel 3.2 Tabel Statement
Nama tabel
:
Statement
Keterangan
Primary Key
:
:
terdiri atas field-field yang berhubungan dengan statement
IdCategory, IdStatement
Field
Tipe Data
Keterangan
IdCategory
Text
id dari kategori
IdStatement
Text
keterangan dari id kategori
Type
Yes/No
Menentukan start statement
BackGroundColor
Number
warna latar belakang dari statement
Tabel 3.3 Tabel Rules
Nama tabel
:
Rules
Primary Key
:
:
terdiri atas field-field yang berhubungan dengan rules
IdCategory, IdStatement, IdRules
Field
Tipe Data
Keterangan
IdCategory
Text
id dari kategori
IdStatement
Text
id dari statement
IdRules
Text
id dari rules
NoUrut
Number
No urut dari rules
Keterangan
45
Tabel 3.4 Tabel Detail Rules
Nama tabel
:
DetailRules
Keterangan
Primary Key
:
:
terdiri atas field-field yang berhubungan dengan detail dari
rules
IdCategory, IdStatement, IdRules, IdInput, Comparision, Value
Field
Tipe Data
Keterangan
IdCategory
Text
id dari kategori
IdStatement
Text
keterangan dari id kategori
IdInput
Comparison
Text
Text
id dari input
Value
Text
nilai pembanding untuk perhitungan
Parent
Link
Text
Yes/No
pemilik component
Menunjukkan component yang mempunyai link ke statement
lain
menyimpan operator pembanding untuk perhitungan
Tabel 3.5 Tabel User Archive
Nama tabel
:
User Archive
Keterangan
Primary Key
:
:
terdiri atas field-field yang berhubungan dengan penyimpanan
jawaban dari user
IdCategory, IdStatement, IdRules, IdInput, Comparision, Value
Field
Tipe Data
Keterangan
IdUser
Text
id dari kategori
IdCategory
Text
keterangan dari id kategori
IdStatement
IdInput
Text
Text
id dari input
Value
Text
nilai input
menyimpan operator pembanding untuk perhitungan
Tabel 3.6 Tabel User
Nama tabel
:
User
Keterangan
Primary Key
:
:
terdiri atas field-field yang berhubungan dengan user
IdCategory, IdStatement, IdRules, IdInput, Comparision, Value
Field
Tipe Data
Keterangan
Password
Text
Password user
Keterangan
Text
keterangan mengenai user
46
Tabel 3.7 Tabel Input
Nama tabel
:
Input
Keterangan
Primary Key
:
:
terdiri atas field-field yang berhubungan dengan input
IdCategory, IdStatement, IdInput
Field
Tipe Data
Keterangan
IdCategory
Text
id dari kategori
IdStatement
Text
Keterangan dari id kategori
IdInput
TypeInput
Text
Number
id dari input
Menentukan tipe input, yaitu :
0 = variable
1 = GroupBox
11 = Label
21 = Edit
22 = Radio
23 = Check
31 = Button
32 = Image
Text
Text
Untuk input memiliki text (string)
FontName
Text
Nama font
FontColor
Number
Warna font
FontSize
Number
Ukuran font
FontBold
Yes/No
Tipe font bold atau tidak
FontItalic
Yes/No
Tipe font italic atau tidak
FontUnderline
Yes/No
Tipe font underline atau tidak
FontStrikeThrough
Yes/No
Tipe FontStrikeThrough atau tidak
BackGroundColor
Number
Warna background
Stretch
Yes/No
Untuk memperbesar / memperkecil image
Left
Number
Posisi kiri input
Top
Number
Posisi atas input
Width
Number
Lebar input
Height
Number
Tinggi input
Parent
TypeEdit
Text
Number
Pemilik input
Tipe input yang bisa diedit, yaitu :
0 = number
1 = long date
2 = short date
3 = time
4 = string
BrowseText
Default Value
Text
Text
Path pengambilan image
Nilai default/ nilai perhitungan, jika Nilai default berarti bisa
diedit, jika merupakan nilai perhitungan nilai tidak bisa diedit
47
3.2.3.2
Entity Relationship Diagram
Adapun struktur hubungan antara tabel-tabel tersebut tampak dalam diagram
hubungan antar entitas / Entity Relationship Diagram (ERD) seperti
digambarkan pada Gambar 3.4 :
Gambar 3.8 ERD (Entity Relation Ship Diagram)
ERD adalah model diagram yang digunakan untuk menggambarkan
hubungan antara tabel-tabel (relationship) dalam database. Terdapat
beberapa entity yaitu tabel Category, Statement, Input, Rules, dan
DetailRules.
-
tabel Category merupakan entity yang menjelaskan kategori-kategori
yang dibuat.
48
-
tabel Statement merupakan entity yang menjelaskan statement-statement
yang dibuat dan mempunyai hubungan one to many dengan tabel
category dimana 1 category dapat mempunyai banyak statement. Tabel
ini juga mempunyai hubungan one to many dengan tabel input dan tabel
rules.
-
tabel Input merupakan entity yang menjelaskan input-input serta tipe dan
propertiesnya. Data untuk tabel ini diperoleh pada waktu user mendesain
form di IDE statement, yang bisa berisi banyak jenis dan tipe input. Tabel
ini juga mempunyai hubungan one to many dengan tabel detail rules
dimana untuk setiap input dapat diterapkan satu atau lebih rules.
-
tabel Rules merupakan entity yang menjelaskan urutan rules yang
diterapkan terhadap statement yang dibuat. Tabel ini berhubungan dengan
tabel detail rules yang berisi detail dari tiap-tiap rules.
-
tabel DetailRules merupakan entity yang menjelaskan detail dari tiap-tiap
rules yang dibuat.
-
tabel User merupakan entity yang menjelaskan detail mengenai user
pengguna modul client.
-
tabel User Archive merupakan entity yang menjelaskan data yang di
archive atau disimpan dari input yang dilakukan user.
49
3.2.4 Rancangan Layar
3.2.4.1
Rancangan Tampilan
Rancangan layar terdiri atas rancangan layar builder yang dapat dilihat pada
Gambar 3.9 s/d Gambar 3.27, rancangan layar client yang dapat dilihat pada
Gambar 3.28 s/d Gambar 3.30, dan rancangan layar distribution yang dapat
dilihat pada Gambar 3.31. Pada tiap modul juga terdapat rancangan pesan
kesalahan yang dapat dilihat pada Gambar 3.32.
Knowledge Builder
File
Category
Statement
Rules
Window
Help
Category Inspector
Category list
Statement List :
Statement Tree View :
Gambar 3.9 Rancangan Layar Builder, Main Form
50
Rancangan layar utama dari builder (Gambar 3.9), dapat dilihat seperti
Gambar 3.9. Pada menu terdapat pilihan File, Category, Statement Rules
Window dan Help.
File terdiri atas :
-
New, untuk membuat database baru (Gambar 3.10)
-
Open, untuk membuka database (Gambar 3.11)
-
Close, untuk menutup database
-
Exit, untuk keluar dari program
Category terdiri atas :
-
New, untuk membuat kategori baru (Gambar 3.12)
-
Edit, untuk mengedit kategori (Gambar 3.13)
-
Delete, untuk menghapus kategori, sebelumnya ditampilkan dialog
konfirmasi (Gambar 3.17)
Statement terdiri atas :
-
New, untuk membuat statement baru (Gambar 3.14)
-
Delete, untuk menghapus statemenet. sebelumnya ditampilkan dialog
konfirmasi (Gambar 3.17)
-
Save to template, untuk menyimpan statement sebagai template (Gambar
3.15)
Rules terdiri atas :
-
New, untuk membuat rule baru (Gambar 3.16)
-
Delete,
untuk
menghapus
konfirmasi (Gambar 3.17)
rule, sebelumnya
ditampilkan
dialog
51
Window terdiri atas :
-
Minimize all, mengecilkan semua window
-
Arrange all, menyusun semua window sekaligus maximize window
-
Windows list, menampilkan list window yang digunakan user
Help
-
Help, panduan mengenai aplikasi builder
-
About, informasi aplikasi builder
Pada Gambar 3.9 juga terdapat Category Inspector yang menampilkan
category list, statement list, dan statement tree view.
Save As
Lookin
Save
Cancel
Gambar 3.10 Rancangan Layar Builder, New Database
52
Open
Look in
Open
Cancel
Gambar 3.11 Rancangan Layar Builder, Open Database
New Category
Category Name
Note
Save
Cancel
Gambar 3.12 Rancangan Layar Menu Builder - Category -> New Category
Edit Category
Category Name
Note
Save
Cancel
Gambar 3.13 Rancangan Layar Menu Builder - Category -> Edit Category
53
New Statement
Category ID
Statement ID
Starting Point
Topic
Save
Cancel
Gambar 3.14 Rancangan Layar Menu Builder - Statement -> New Statement
Pada rancangan new statement (Gambar 3.14), terdapat category id, yaitu
nama dari kategori yang telah kita buat sebelumnya. Fungsinya agar user
tahu kategori dari statement yang dibuatnya dan tidak dapat diubah lewat
layar ini. Starting point digunakan untuk menentukan bahwa statement
yang dibuat ini adalah merupakan start statement dari seluruh statement
pada kategori. Statement ID diisi dengan id dari statement, contohnya
adalah k[x] untuk kesimpulan dimana k menyatakan kesimpulan dan x
merupakan urutan penomeran kesimpulan, p[x] untuk pertanyaan, dan
start untuk start statement. Topic untuk penjelasan singkat mengenai
statement tersebut.
54
Save Statement to Template
Category ID
Statement ID
Starting Point
Topic
Save
Cancel
Gambar 3.15 Rancangan Layar Menu Builder - Statement -> Save to
Template
Add Rule
Category ID
Statement ID
Rules ID
Save
Cancel
Gambar 3.16 Rancangan Layar Menu Builder - Rule -> New
Pada rancangan Layar New Rule (Gambar 3.16), akan ditampilkan
Category ID yaitu nama kategori, dan Statement ID yaitu id dari
statement pemilik rule yang akan dibuat. Category ID dan Statement ID
tidak dapat diubah, digunakan hanyak untuk memudahkan user untuk
mengetahui pemilik rule tersebut. ID rule adalah nama / id dari rule yang
dibuat, sebagai contoh ID yang dapat digunakan misalnya answer untuk
rule jawaban, atau go untuk rule yang akan dihubungkan dengan
statement lain.
55
Confirm
Dialog Konfirmasi
Yes
No
Gambar 3.17 Rancangan Layar Dialog Konfirmasi Untuk Penghapusan (Delete)
Knowledge Builder
File
Category
Statement
Category Inspector
Template
Rules
Window
Help
ID Statement
Tool Box
Statement List :
Component View
Statement Tree View :
Properties
Statement & Component
Properties
Gambar 3.18 Rancangan Layar Builder, IDE Statement dan Toolbox
Tool Box
1
2
3
4
5
6
7
8
56
Pada rancangan layar IDE Statement (Gambar 3.18) terdapat toolbox, yang
berisi komponen-komponen yang bisa digunakan dalam pembentukan
statement. Komponen-komponen tersebut dapat di drag ke viewer, dan
diubah sekehendak hati user. Untuk properti nya dapat diatur pada bagian
properties, dengan meng highlight komponen untuk melihat atau
mengubah properti nya. Adapun komponen-komponennya adalah (sesuai
urutan dalam gambar) :
Tabel 3.8 Tabel Komponen IDE Statement
Nama Komponen
Fungsi
Pointer
GroupBox
sebagai pointer
membentuk groupbox yang didalamnya dapat berisi komponen
lain, yaitu picture, bit button, label, editbox, radio button dan
check box
Picture
komponen untuk memasukkan gambar
Bit Button
komponen untuk input berupa button yang bisa di klik
Label
komponen untuk menampilkan text
EditBox
RadioButton
komponen untuk input berupa text
komponen berupa radio button, umumnya digunakan untuk
multiple choice
CheckBox
komponen berupa checkbox
Gambar 3.19 Rancangan Layar Properties Statement
57
Pada Properties Statement (Gambar 3.19), user dapat memberikan
ketentuan pada ID Statement ( nama statement ), BackgoundColor untuk
mengganti warna latar, ID Variable Input, yaitu variabel awal yang dapat
dibuat, dan Expression untuk menentukan nilai variabel tersebut.
Pada rancangan layar properti Gambar 3.20 s/d Gambar 3.23 untuk
penjelasan mengenai tiap-tiap properti component Statement dapat dilihat
pada Tabel 3.7 (Tabel Input).
Properties
ID Input
Text
Input variabel
Background Color
Font Color
Setting font
Left
Top
Width
Height
Gambar 3.20 Rancangan Layar Properties untuk Label, Checkbox, Groupbox dan
RadioButton dari Statement
58
Properties
ID Input
Text
Input variabel
Font Color
Setting font
Browse
Picture File
Left
Top
Width
Height
Gambar 3.21 Rancangan Layar Properties untuk Bitbutton dari Statement
Properties
ID Input
Picture File
Browse
Strecth
Left
Top
Width
Height
Gambar 3.22 Rancangan Layar Properties untuk Image dari Statement
59
Properties
ID Input
Text
Input variabel
Default value
Input variabel
Background Color
Font Color
Setting font
Type
Left
Top
Width
Height
Gambar 3.23 Rancangan Layar Properties untuk EditBox dari Statement
60
Knowledge Builder
File
Category
Statement
Category Inspector
Rules
Window
Help
ID Rules
Template
Statement List :
Component View
Statement Tree View :
Rules
Rule properties
Gambar 3.24 Rancangan Layar Builder, IDE Rules
Pada rancangan IDE Rules (Gambar 3.24), terdapat component view, yang
menampilkan komponen-komponen yang dibuat pada saat pembuatan
statement. Rule properties merupakan properti dari rule yang diterapkan
pada komponen.
Pada lancangan layar properti Gambar 3.25 s/d Gambar 3.27 untuk
penjelasan mengenai tiap-tiap properti dari component Rules dapat dilihat
pada Tabel 3.4 (Tabel DetailRules).
61
Rules
ID Rules
Input
Value
Comparison
Gambar 3.25 Rancangan Layar Properties untuk Checkbox dan RadioButton dari
Rules
Rules
ID Rules
Input
Value
Gambar 3.26 Rancangan Layar Properties untuk BitButton dari Rules
Rules
ID Rules
Input
Value List
Value
Comparison
Add
Delete
Save
Cancel
Gambar 3.27 Rancangan Layar Properties untuk BitButton dari EditBox dan Image
62
KNOWLEDGE SIMULATOR
User name
Password
Login
Quit
Gambar 3.28 Rancangan Layar Client - Simulator Login
1. Choose Category
List of Category
2. Choose Starting Point
List of Starting Point
3. Go
Simulate
Back
Gambar 3.29 Rancangan Layar Client - Simulator Choose Category
63
Dialog
Quit
Gambar 3.30 Rancangan Layar Client – Simulator Dialog
Dialog pada Gambar 3.30 merupakan dialog pertanyaan sampai
kesimpulan yang diperoleh dari knowledge base berdasarkan kategori
yang dipilih.
64
Knowledge Distribution
Left Panel
Right Panel
Move
Dialog
Open
Delete
Dialog
Copy
About
Open
Delete
Info
Gambar 3.31 Rancangan Layar Utama Distribution
Pada layar distribution (Gambar 3.31) terdapat 2 bagian utama yaitu left pane
dan right pane yang masing-masing mempunyai komponen open, yaitu untuk
membuka database dan delete untuk menghapus kategori. Dialog akan
menampilkan list kategori yang terdapat pada database. Perintah move untuk
memindahkan kategori dan copy untuk menyalin ulang kategori, dari right
pane ke left pane atau sebaliknya tergantung pada letak kategori yang dipilih,
apabila kategori yang dipilih berada pada right pane, berarti perintah move
dan copy digunakan untuk memindahkan atau menyalin ulang ke left pane.
65
Parent Form
Error message
Ok
Gambar 3.32 Rancangan Layar Pesan Kesalahan
Parent form pada Gambar 3.32 merupakan nama pemilik window pesan
kesalahan, misalnya knowledge builder yang berarti pesan kesalahan
dimiliki oleh knowledge builder. Error message merupakan pesan
kesalahannya.
3.2.4.2
State Transition Diagram
Untuk melihat urutan dan variasi dalam layar yang muncul pada
saat menggunakan aplikasi digunakan State Transition Diagram.
Adapun untuk STD builder dapat dilihat pada Gambar 3.33 s/d
Gambar 3.37, sedangkan untuk STD client dapat dilihat pada
Gambar 3.38, dan untuk STD distribution dapat dilihat pada
Gambar 3.39.
66
STD BUILDER – MAIN FORM
MAIN
FORM
File – Close
--------------Close database
File - New
----------------------------Create new database
File - Open
---------------------------Browse for database
File Browser
View Category and
statement tree and list
Category
Inspector
Category Detail
Gambar 3.33 STD Main Form
67
STD BUILDER – Category Detail
back
________________
show_category_list
category list
back
________________
show_category_list
add_category_pressed
________________________
show_new_category_input
new
category
delete_category_pressed
________________________
show_category_deleted
category_choosed
________________________
show_category_information_
and_statement_list
category
Information
And
Statement list
Gambar 3.34 STD Category List
delete
category
68
STD BUILDER
Category Information and statement list
back
______________________
show_category_information_
and_statement_list
category
information
and
statement list
back
______________________
show_category_information_
and_statement_list
delete_statement_pressed
________________________
show_statement_deleted
add_statement_pressed
________________________
show_new_statement_input
statement_selected
________________________
show_EDIT_STATEMENT_state
User_choose_from template
________________________
show_template browser
add
statement
EDIT
STATEMENT
delete
statement
User_choose_from blank
________________________
show_blank_statement
template
browser
blank
statement
Gambar 3.35 STD Category Information dan Statement List
69
STD BUILDER
EDIT STATEMENT
Back
______________
show_EDIT_STATEMENT
EDIT
STATEMENT
Back
______________
show_EDIT_STATEMENT
STATEMENT_IDE_FORM_selected
________________________
show_STATEMENT_IDE_FORM
add_rule_pressed
______________
show_add_rule_input
STATEMENT
IDE FORM
add rule
RULE_IDE_FORM_focussed
______________
Show_RULE_SET_IDE_FORM
RULE SET
IDE FORM
Gambar 3.36 STD Edit Statement
delete_rule_pressed
______________
Show_deleted_rule
delete rule
70
STD BUILDER
STATEMENT IDE FORM
back
__________________________
show_STATEMENT_IDE_FORM
STATEMENT
IDE FORM
component_dragged
_________________
insert component
back
__________________________
show_STATEMENT_IDE_FORM
Component_deleted
______________
delete_component
component_selected
_________________
show_component_properties
insert
component
component
properties
Gambar 3.37 STD Statement IDE Form
delete
component
71
STD CLIENT
Back
-------------------Show main form
MAIN +
LOGIN
FORM
Quit
Enter Valid
User Name & Password
Category And
Start Statement
Menu
Quit
-------------------Show Category
And
Start Statement
Menu
Pick Category and start statement - Simulate
-----------------------------------------Show simulator dialog
Simulator Dialog
Gambar 3.38 STD Client
End Program
72
STD DISTRIBUSI
MAIN
FORM
Open (Left Pane)
-----------------------Database browser
Open (Right Pane)
-----------------------Database browser
Left Pane
Category List
Right Pane
Category List
Pick Category
Pick Category
copy
copy left category
copy
move
move left
category
copy right
category
Gambar 3.39 STD Distribusi
move
move right
category
Download