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