Diagram Aktivitas Perancangan Applikasi

Gambar 3.8 menjelaskan mengenai diagram aktivitas login, dimana aktivitas awalnya adalah pengguna memasukkan username dan password. Kemudian sistem memproses dengan melakukan pencarian data user ke database berdasarkan username dan password. Jika data ditemukan maka pengguna diarahkan ke halaman utama. Jika tidak maka kembali ke halaman login dan menampilkan pesan. Gambar 3.9 Diagram aktivitas upload file Gambar 3.9 menjelaskan mengenai diagram aktivitas upload dokumen, dimana aktivitas awalnya adalah pengguna memasukkan data dokumen beserta file-file yang akan diunggah. Kemudian sistem memproses data tersebut dengan melakukan pengecekan validasi, jika validasi tidak lolos maka pengguna wajib melengkapi data yang kurang. Jika validasi lolos, maka sistem memproses dokumen tersebut dengan menyimpan data dokumen dan file ke basis data. Jika file berekstensi .txt atau .doc maka dilakukan proses selanjutnya yaitu penentuan indeks, kemudian hasil dari penentuan indeks tersebut disimpan ke dalam basis data. Gambar 3.10 Diagram aktivitas pencarian Gambar 3.10 menjelaskan mengenai diagram aktivitas pencarian file, dimana aktivitas awalnya adalah pengguna memasukkan kata kunci query pencarian. Kemudian sistem memproses kata kunci tersebut untuk dilakukan tokenisasi, stoplist, stemmer. Setelah dibentuk kata-kata dasar dari kata kunci, maka dilakukan proses pencarian file ke dalam basis data. Jika ditemukan hasil dari pencarian tersebut, maka sistem melakukan proses perangkingan terhadap file-file hasil pencarian. Selanjutnya file hasil yang telah di-ranking ditampilkan kepada pengguna. Jika pengguna ingin mengunduh file, maka sistem mengambil file fisik yang tersimpan untuk diberikan kepada pengguna. 3.4.3 Diagram Kelas Diagram Kelas Class diagram menggambarkan kelas-kelas yang menjadi inti dari program yang akan dibuat. Kelas adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Gambar 3.11 Class diagram aplikasi pencarian dokumen Tokenizer + tokenizetext : ListString + termWeightingtokens : MapString, Integer Stopw ords - stopWordList: Li stString + checkStopwordsword : boolean + i nitWordList : void + stopWordListString : ListString Stemmer + stemmingListString : ListString + stemString : String + removePluralSuffixationStri ng : String + removeVerbalInflectionString : String + lastProcessVerbalInflectionString : String + replaceLastYT oIStri ng : void + removeSuffixFromMultipleSuffixesString : String + continueRemoveSuffixFromMultipleSuffixesString : void + removeLastSuffixString : String + removeEString : String + reduceLLString : String + isDoubleCString : boolean + isEndCVCString : boolean + isContaintVowelString : boolean + isVowelString : boolean + countMString : int Dictionary - term: String - Postings: Posting + getT erm : String + setTermterm : void + setPostingsPostings : void + getPostings : ListPosting Posting - id: int - fileId: File - dictId: Dictionary - freq: int + getDocId : Document + setDocIddocId : void + getFreq : i nt + setFreqfreq : void File - id: String - date: Date - name: String - pureName: String - ext: String - documentId: Document - size: int + getId : String + setIdid : void Document - id: String - authorId: String - dateCreated: Date - updaterId: String - dateUpdated: Date - description: String - title: String - totalView: int + get : void + set : void DocumentServ ice + documentSaveDocument : void + findDocumentLi stint, int, String, String, String, String : ListDocument + documentFileUploadFileItem, String : void DocumentPortlet + processActionActionReques, Acti onResponse : void + actionAddDocumentActionRequest, ActionResponse : void + doViewRenderRequest, RenderResponse : void + doViewDocumentRenderRequest, RenderResponse : void + indexingControllerFi le : void Tagger - verbMap: MapString, String + getTaggedWordString : String + initVerbList : void + tagListString : ListString Extractor - content: String + Extractorfile + getContent : String + textExtractor : void + wordExtractor : voi d FileServ ice + fileSaveFile : void + postSavePosting : void + fileGetString : File User - id: String - address: String - displayname: String - email: String - password: String - photo: String - username: String - website: String - fname: String - lname: String - lasLoginDate: date - phoneNumber: String - status: int + get : void + set : void SearchingServ ice + findByKeywordListString, int, int : ListFile SearchingDocumentPortlet + doViewRenderRequest, RenderResponse : void + serveResourceResourceRequest, ResourceResponse : voi d 1.. 1.. 1.. 1.. 0.. 1.. 0.. 1.. 0.. 1.. 0.. 1.. 0.. 1 1 0.. 1.. 0.. 0.. 1 0.. 1.. 1.. 0.. 1.. 0.. 1.. 0.. 1.. 0.. 1.. 1.. 1 0.. Diagram kelas dalam Gambar 3.11 diatas ini memberikan gambaran keterkaitan antara kelas-kelas pada aplikasi pencarian dokumen. Seperti terlihat pada bagian 3.4.1.1 dan 3.4.1.2, bahwa adanya keterhubungan kelas-kelas antara lain : DocumentPortlet, DocumentService, FileService, Extractor, Tokenizer, Stemmer, Tagger, Stopwords, Dictionary, Posting, Document, File, SearchingPortlet, dan SearchingService 3.4.4 Skema Relasi Dari diagram kelas pada Gambar 3.11 bisa ditentukan skema relasi database yang akan dibuat. Bisa terlihat pada Gambar 3.12 bahwa ada 5 tabel yang nantinya akan digunakan pada aplikasi pencarian dokumen ini, antara lain : user, document, file, posting, dan dictionary. Gambar 3.12 Skema relasi subsistem pencarian dokumen

3.4.5 Struktur File

Sistem aplikasi membutuhkan spesifikasi file yang dimaksudkan untuk memudahkan sistem kerja komputer dalam melakukan pengaturan dan pencarian data. Struktur file digunakan dalam perancangan sistem untuk menentukan struktur fisik database dengan menjelaskan rincian dari setiap file nama file, User «column» PK id: VARCHAR36 address: TEXT displayname: VARCHAR50 email: VARCHAR50 password: VARCHAR20 photo: VARCHAR255 username: VARCHAR36 website: VARCHAR50 fname: VARCHAR20 lname: VARCHAR30 lastLoginDate: DATETIME phoneNumber: VARCHAR50 status: INTEGER «PK» + PK_UserVARCHAR Document «column» PK id: VARCHAR36 FK authorId: VARCHAR36 dateCreated: DATETIME updaterId: VARCHAR36 dateUpdated: DATETIME description: TEXT title: VARCHAR250 totalView: INTEGER «FK» + FK_Document_UserVARCHAR «PK» + PK_DocumentVARCHAR File «column» PK id: VARCHAR36 date: DATETIME name: VARCHAR255 pureName: VARCHAR255 ext: VARCHAR50 FK documentId: VARCHAR36 size: BIGINT «FK» + FK_File_DocumentVARCHAR «PK» + PK_FileVARCHAR Dictionary «column» PK term: VARCHAR20 «PK» + PK_DictionaryVARCHAR Posting «column» PK id: VARCHAR36 FK fileId: VARCHAR36 FK dictId: VARCHAR20 freq: INTEGER «FK» + FK_Posting_DictionaryVARCHAR + FK_Posting_FileVARCHAR «PK» + PK_PostingVARCHAR 0.. 1 0.. 1 0.. 1 0.. 1 kunci utama, jumlah atribut, nama atribut, ukuran atribut, dan keterangan atribut. Adapun rincian struktur file yang digunakan sistem pencarian dokumen dapat dilihat dalam tabel 3.5 - 3.9 dibawah ini : Tabel 3.5 Struktur File Document