DPPL AcaDocFlow

1,593 views
1,429 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,593
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

DPPL AcaDocFlow

  1. 1. DPPL DESKRIPSI PERANCANGAN PERANGKAT LUNAK Pengembangan Aplikasi Academic Document Workflow Berbasis XML (Studi Kasus: Fakultas Teknologi Industri UAJY) (AcaDocflow) Dipersiapkan oleh: EDI YANTO 02 07 03441 Program Studi Teknik Informatika – Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta Program Studi Teknik Nomor Dokumen Halaman Informatika DPPL-AcaDocflow 1/79 Fakultas Teknologi Industri A Tgl : 27-05-2006 Revisi
  2. 2. DAFTAR PERUBAHAN Revisi Deskripsi Menambah rancangan antarmuka halaman tampil isi dokumen, halaman jadwal dan menambah class diagram A pada package Documents serta melakukan perubahan pada ERD dan physical data model. B C D E F G INDEX - A B C D E F G 18-04- 27-05- TGL 2006 2006 Ditulis oleh EY EY Diperiksa YSP YSP oleh PM PM Disetujui YSP YSP oleh PM PM Program Studi Teknik Informatika DPPL-AcaDocflow 2/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  3. 3. Daftar Halaman Perubahan Halaman Revisi Halaman Revisi 31-34, 53-54,72-73 A Program Studi Teknik Informatika DPPL-AcaDocflow 3/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  4. 4. Daftar Isi 1 Pendahuluan .................................................................................................................................... 8 1.1 Tujuan ....................................................................................................................................... 8 1.2 Lingkup Dokumen ..................................................................................................................... 8 1.3 Istilah dan Singkatan................................................................................................................. 8 1.4 Referensi................................................................................................................................... 9 1.5 Deskripsi umum (Overview)...................................................................................................... 9 2 Deskripsi Keseluruhan ................................................................................................................... 10 2.1 Deploymeny Diagram ............................................................................................................. 10 2.1.1 Node : Client .................................................................................................................... 10 2.1.2 Node : Web Server .......................................................................................................... 10 2.1.3 Node : Database Server .................................................................................................. 10 2.2 Design Class........................................................................................................................... 11 2.2.1 Pengantar ........................................................................................................................ 11 2.2.2 Package Dependencies................................................................................................... 12 2.2.3 Package Data Management (ey.AcaDocflow.data)......................................................... 12 2.2.3.1 Class diagram package ey.AcaDocflow.data ......................................................... 12 2.2.3.2 Sub-package pengelolaan data user (ey.AcaDocflow.data.user)........................... 13 2.2.3.2.1 Class ey.AcaDocflow.data.user.User ................................................................. 13 2.2.3.2.2 Class ey.AcaDoclow.data.user.UserManager.................................................... 14 2.2.3.2.3 Class ey.AcaDoclow.data.user.LoginUI ............................................................. 18 2.2.3.3 Sub-package pengelolaan kunci (ey.AcaDocflow.data.key)................................... 19 2.2.3.3.1 Class ey.AcaDoclow.data.key.Key ..................................................................... 19 2.2.3.3.2 Class ey.AcaDoclow.data.key.KeyManager....................................................... 19 2.2.3.3.3 Class ey.AcaDoclow.data.key.GenerateKeyUI .................................................. 21 2.2.4 Package Documents Management (ey.AcaDocflow.documents) ................................... 22 2.2.4.1 Class diagram package ey.AcaDocflow.documents............................................... 22 2.2.4.2 Sub-package pengelolaan dokumen (ey.AcaDocflow.documents.document) ....... 22 2.2.4.2.1 Class ey.AcaDocflow.documents.document.Document..................................... 22 2.2.4.2.2 Class ey.AcaDocflow.documents.document.DocumentManager ...................... 24 2.2.4.2.3 Class ey.AcaDocflow.documents.document.DocumentUI ................................. 30 2.2.4.2.4 Class ey.AcaDocflow.documents.document.ReportUI....................................... 31 2.2.4.2.5 Class ey.AcaDocflow.documents.document.JadwalUI ...................................... 31 2.2.4.3 Sub-package pengelolaan Jadwal (ey.AcaDocflow.documents.jadwal) ................ 32 2.2.4.3.1 Class ey.AcaDocflow.documents.jadwal.JadwalManager ................................. 32 2.2.4.4 Sub-package pengelolaan Ruang (ey.AcaDocflow.documents.ruang) .................. 34 2.2.4.4.1 Class ey.AcaDocflow.documents.ruang.RuangManager................................... 34 2.2.5 Package Sender (ey.AcaDocflow.sender)....................................................................... 35 2.2.5.1 Class diagram package ey.AcaDocflow.sender ..................................................... 35 2.2.5.2 Class ey.AcaDoclow.sender.SenderManager ........................................................ 35 2.2.5.3 Class ey.AcaDocflow.sender.SenderUI.................................................................. 37 2.2.6 Package Receiver (ey.AcaDocflow.receiver) .................................................................. 37 2.2.6.1 Class diagram package ey.AcaDocflow.receiver.................................................... 37 2.2.6.2 Class ey.AcaDocflow.receiver.ReceiverManager................................................... 38 2.2.6.3 Class ey.AcaDocflow.receiver.ReceiverUI ............................................................. 39 2.3 Realisasi Use Case................................................................................................................. 40 2.3.1 Use Case : Login ............................................................................................................. 40 2.3.2 Use Case : Generate Key................................................................................................ 41 2.3.3 Use Case : Pengelolaan Dokumen ................................................................................. 43 2.3.3.1 Penyimpanan Dokumen.......................................................................................... 43 2.3.3.2 Use Case : Melihat/Mencetak Isi Dokumen............................................................ 45 2.3.4 Use Case : Encrypt.......................................................................................................... 46 2.3.5 Use Case : Create Digital Signature................................................................................ 47 2.3.6 Use Case : Send Email ................................................................................................... 48 2.3.7 Use Case : Verify............................................................................................................. 49 2.3.8 Use Case : Decrypt.......................................................................................................... 50 2.3.9 Use Case : Pelaporan Jadwal Ujian ................................................................................ 52 Program Studi Teknik Informatika DPPL-AcaDocflow 4/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  5. 5. 3 Deskripsi Perancangan Persistent Data ........................................................................................ 53 3.1 Database................................................................................................................................. 53 3.1.1 Tabel Pengguna .............................................................................................................. 54 3.1.2 Tabel Dosen .................................................................................................................... 55 3.1.3 Tabel Mahasiswa............................................................................................................. 56 3.1.4 Tabel Karyawan............................................................................................................... 56 3.1.5 Tabel TPublicKey............................................................................................................. 56 3.1.6 Tabel Dokumen ............................................................................................................... 57 3.1.7 Tabel Mengelola .............................................................................................................. 57 3.1.8 Tabel Jadwal.................................................................................................................... 58 3.1.9 Tabel JadwalMengajar .................................................................................................... 58 3.1.10 Tabel JadwalUjian ........................................................................................................... 59 3.1.11 Tabel Ruang .................................................................................................................... 59 3.1.12 Tabel Konsentrasi............................................................................................................ 60 3.2 File Dokumen XML ................................................................................................................. 60 3.3 File Private Key....................................................................................................................... 62 4 Deskripsi Perancangan Antarmuka ............................................................................................... 63 4.1 Use Case : Login .................................................................................................................... 63 4.2 Use Case : Generate Key ....................................................................................................... 64 4.3 Use Case : Pengelolaan Dokumen......................................................................................... 67 4.4 Use Case : Encrypt dan Use Case : Create Digital Signature................................................ 74 4.5 Use Case : Verify dan Use Case : Decrypt............................................................................. 77 Program Studi Teknik Informatika DPPL-AcaDocflow 5/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  6. 6. Daftar Gambar Gambar 2.1 Deployment Diagram AcaDocflow .................................................................................... 10 Gambar 2.2 Package Dependencies AcaDocflow ................................................................................ 12 Gambar 2.3 Class Diagram Package ey.AcaDocflow.data................................................................... 12 Gambar 2.4 Class ey.AcaDocflow.data.user.User................................................................................ 13 Gambar 2.5 Class ey.AcaDocflow.data.user.UserManager ................................................................. 14 Gambar 2.6 Class ey.AcaDocflow.data.user.LoginUI........................................................................... 18 Gambar 2.7 Class ey.AcaDocflow.data.key.Key................................................................................... 19 Gambar 2.8 Class ey.AcaDocflow.data.key.KeyManager .................................................................... 19 Gambar 2.9 Class ey.AcaDocflow.data.key.GenerateKeyUI................................................................ 21 Gambar 2.10 Class Diagram Package ey.AcaDocflow.documents ...................................................... 22 Gambar 2.11 Class ey.AcaDocflow.documents.document.Document ................................................. 22 Gambar 2.12 Class ey.AcaDocflow.documents.document.DocumentManager ................................... 24 Gambar 2.13 Class ey.AcaDocflow.documents.document.DocumentUI.............................................. 30 Gambar 2.14 Class ey.AcaDocflow.documents.document.ReportUI ................................................... 31 Gambar 2.15 Class ey.AcaDocflow.documents.document.JadwalUI ................................................... 31 Gambar 2.16 Class ey.AcaDocflow.documents.jadwal.JadwalManager .............................................. 32 Gambar 2.17 Class ey.AcaDocflow.documents.ruang.RuangManager................................................ 34 Gambar 2.18 Class Diagram Package ey.AcaDocflow.sender............................................................. 35 Gambar 2.19 Class ey.AcaDocflow.sender.SenderManager ............................................................... 35 Gambar 2.20 Class ey.AcaDocflow.sender.SenderUI .......................................................................... 37 Gambar 2.21 Class Diagram Package ey.AcaDocflow.receiver........................................................... 37 Gambar 2.22 Class ey.AcaDocflow.receiver.ReceiverManager ........................................................... 38 Gambar 2.23 Class ey.AcaDocflow.receiver.ReceiverUI...................................................................... 39 Gambar 2.24 Design Sequence Diagram Use Case Login .................................................................. 40 Gambar 2.25 Design Sequence Diagram Use Case Generate Key ..................................................... 41 Gambar 2.26 Design Sequence Diagram Use Case Pengelolaan Dokumen....................................... 43 Gambar 2.27 Design Sequence Diagram Use Case Pengelolaan Dokumen....................................... 45 Gambar 2.28 Design Sequence Diagram Use Case Encrypt ............................................................... 46 Gambar 2.29 Design Sequence Diagram Use Case Create Digital Signature..................................... 47 Gambar 2.30 Design Sequence Diagram Use Case Send Email......................................................... 48 Gambar 2.31 Design Sequence Diagram Use Case Verify .................................................................. 49 Gambar 2.32 Design Sequence Diagram Use Case Decrypt............................................................... 50 Gambar 2.33 Design Sequence Diagram Use Case Pelaporan Jadwal Ujian ..................................... 52 Gambar 3.1 Entity Relationship Diagram AcaDocflow.......................................................................... 53 Gambar 3.2 Physical Data Model.......................................................................................................... 54 Gambar 4.1 Rancangan Halaman Login............................................................................................... 63 Gambar 4.2 Rancangan Halaman Registrasi Pengguna ...................................................................... 64 Gambar 4.3 Rancangan Halaman Pendaftaran Ujian Kerja Praktek.................................................... 67 Gambar 4.4 Rancangan Halaman Pendaftaran Ujian Pendadaran...................................................... 68 Gambar 4.5 Rancangan Halaman Status Dokumen............................................................................. 71 Gambar 4.6 Rancangan Halaman Tampil Isi Dokumen ....................................................................... 72 Gambar 4.7 Rancangan Halaman Jadwal ............................................................................................ 73 Gambar 4.8 Rancangan Halaman Pengiriman Dokumen..................................................................... 74 Gambar 4.9 Rancangan Halaman Penerimaan Dokumen ................................................................... 77 Program Studi Teknik Informatika DPPL-AcaDocflow 6/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  7. 7. Daftar Tabel Tabel 1.1 Tabel Istilah dan Singkatan..................................................................................................... 8 Tabel 3.1 Tabel Pengguna .................................................................................................................... 54 Tabel 3.2 Tabel Dosen .......................................................................................................................... 55 Tabel 3.3 Tabel Mahasiswa .................................................................................................................. 56 Tabel 3.4 Tabel Karyawan .................................................................................................................... 56 Tabel 3.5 Tabel TPublicKey .................................................................................................................. 56 Tabel 3.6 Tabel Dokumen ..................................................................................................................... 57 Tabel 3.7 Tabel Mengelola.................................................................................................................... 57 Tabel 3.8 Tabel Jadwal ......................................................................................................................... 58 Tabel 3.9 Tabel JadwalMengajar .......................................................................................................... 58 Tabel 3.10 Tabel JadwalUjian ............................................................................................................... 59 Tabel 3.11 Tabel Ruang........................................................................................................................ 59 Tabel 3.12 Tabel Konsentrasi ............................................................................................................... 60 Tabel 3.13 DTD untuk file dokumen pendaftaran ujian pendadaran (.xml) .......................................... 60 Tabel 3.14 DTD untuk file dokumen pendaftaran ujian kerja praktek (.xml) ......................................... 62 Program Studi Teknik Informatika DPPL-AcaDocflow 7/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  8. 8. 1 Pendahuluan 1.1 Tujuan Dokumen Deskripsi Perancangan Perangkat Lunak (DPPL) ini dibuat untuk menyediakan deskripsi lengkap mengenai perancangan perangkat lunak AcaDocflow yang dibuat untuk Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta. Dokumen ini khususnya ditujukan untuk pengembang perangkat lunak sebagai acuan untuk implementasi pada tahap selanjutnya dan orang-orang lain yang tertarik untuk mengembangkan perangkat lunak ini lebih lanjut. 1.2 Lingkup Dokumen Dokumen DPPL ini menyediakan deskripsi lengkap perancangan perangkat lunak untuk AcaDoflow. Perancangan ini merupakan arsitektur sistem yang dijelaskan melalui perancangan class/modul, detail operasi apa yang akan dilakukan oleh masing-masing class/modul, dan layout database. Metodologi yang digunakan dalam perancangan adalah metode USDP (Unified Software Development Process) dari Rational Software. 1.3 Istilah dan Singkatan Daftar istilah dan singkatan yang digunakan dalam dokumen ini adalah: Tabel 1.1 Tabel Istilah dan Singkatan Keyword/Phrase Definisi DPPL Deskripsi Perancangan Perangkat Lunak disebut juga Software Design Description (SDD) merupakan deskripsi dari perancangan produk/perangkat lunak yang akan dikembangkan. AcaDocflow AcaDocflow (Document Workflow System) merupakan perangkat lunak yang dibangun untuk membantu mengubah sistem dokumen paper-based ke suatu solusi digital-based dengan diterapkan mekanisme keamanan data. Orang yang mengirim dokumen/data. Sender Orang yang menerima dokumen/data. Receiver Program Studi Teknik Informatika DPPL-AcaDocflow 8/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  9. 9. 1.4 Referensi Referensi yang digunakan pada perangkat lunak tersebut adalah: 1. A. Suhendar, Hariman Gunadi. Visual Modeling Menggunakan UML dan RATIONAL ROSE. Informatika Bandung. 2002. 2. Fowler, Martin. UML Distilled 3th Ed., Panduan Singkat Bahasa Pemodelan Objek Standar. ANDI Yogyakarta. 2005. 3. Larman, Craig. Applying UML and patterns : an introduction to object- oriented analysis and design and the Unified Process. Prentice-Hall, Inc. 2002. 1.5 Deskripsi umum (Overview) Dokumen DPPL ini terdiri dari 4 bab. Bab pertama adalah Pendahuluan, yang berisi deskripsi dokumen. Bab kedua adalah Deskripsi Perancangan Arsitektural, yang berisi deskripsi arsitektur sistem. Bab ketiga adalah Deskripsi Perancangan Persistent Data, yang berisi deskripsi data-data yang akan disimpan pada persistent storage. Bab keempat adalah Deskripsi Perancangan Antarmuka, yang berisi deskripsi rancangan GUI yang digunakan sistem untuk berinteraksi dengan user. Program Studi Teknik Informatika DPPL-AcaDocflow 9/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  10. 10. 2 Deskripsi Keseluruhan 2.1 Deploymeny Diagram Web Server Internet Client Web Browser Database Server SQL Server 2000 Gambar 2.1 Deployment Diagram AcaDocflow Deployment diagram ini dibuat untuk menunjukkan semua node pada sistem, hubungan di antara mereka, dan proses yang akan dijalankan di masing- masing node. 2.1.1 Node : Client Client merupakan komputer yang digunakan oleh user untuk melakukan pengelolaan terhadap dokumen. Proses yang ada didalamnya adalah: 1. Web browser, digunakan untuk melakukan permintaan proses pengelolaan terhadap data user dan pembangkitan kunci, pengiriman serta penerimaan dokumen. 2.1.2 Node : Web Server Web Server merupakan komputer yang menyediakan layanan ke web bagi client yang mengakses Internet, dimana Web server ini akan mengakses database untuk operasi yang melibatkan data-data pada database. 2.1.3 Node : Database Server Database Server merupakan komputer yang dipakai untuk menyediakan koneksi ke database dan mengautentikasi Web server dan tidak akan Program Studi Teknik Informatika DPPL-AcaDocflow 10/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  11. 11. mengizinkannya melihat informasi atau menjalankan prosedur kecuali jika ia memiliki hak yang sesuai. 2.2 Design Class 2.2.1 Pengantar Nama class yang digunakan dalam design class adalah nama class yang valid, termasuk nama packagenya. Untuk class-class yang berasal dari framework .NET juga digunakan nama class dengan package lengkap. Untuk penjelasan tipe data yang utuh dapat dilihat pada bagian deskripsi class, sedangkan gambar design class tidak akan menggunakan nama package yang lengkap. Stereotype yang digunakan dalam design class adalah : a. << boundary >> Boundary class merupakan class yang berfungsi untuk menghubungkan sistem dengan user di luar sistem. b. << control >> Control class adalah suatu class yang objeknya melakukan interaksi antar sekelompok objek lain. Control class biasanya memiliki karakteristik yang spesifik untuk satu use case, dan objek class ini biasanya hanya aktif pada realisasi use case. c. << entity >> Entity class adalah class yang bersifat pasif, dalam arti class tersebut tidak memulai interaksi dengan class lain. Entity class ini biasanya merepresentasikan suatu objek yang disimpan dalam persistent storage. Program Studi Teknik Informatika DPPL-AcaDocflow 11/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  12. 12. 2.2.2 Package Dependencies Data Key User Generation Management Receiver Sender Documents Schedule Room Management Management Document Management Gambar 2.2 Package Dependencies AcaDocflow 2.2.3 Package Data Management (ey.AcaDocflow.data) Package ini menyediakan class-class yang diperlukan untuk melakukan pengelolaan yang berhubungan dengan data pengguna/user dan pembangkitan serta pengelolaan kunci publik dan kunci privat. 2.2.3.1 Class diagram package ey.AcaDocflow.data 1 1 1 1 1 1 LoginUI UserManager KeyManager <<use>> <<use>> <<access>> 1 1 1..* 1 1 0..* <<create>> user Key GenerateKeyUI Gambar 2.3 Class Diagram Package ey.AcaDocflow.data Program Studi Teknik Informatika DPPL-AcaDocflow 12/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  13. 13. 2.2.3.2 Sub-package pengelolaan data user (ey.AcaDocflow.data.user) 2.2.3.2.1 Class ey.AcaDocflow.data.user.User Gambar 2.4 Class ey.AcaDocflow.data.user.User Deskripsi Class ini merepresentasikan user/pengguna sistem AcaDocflow. Atribut - username : string Merepresentasikan username pengguna. - password : string Merepresentasikan password pengguna. - email : string Merepresentasikan email pengguna. - status : string Merepresentasikan status pengguna, apakah dosen, mahasiswa atau karyawan. - kode : string Merepresentasikan kode/nomor dari pengguna. Jika dosen maka merepresentasikan kode_dosen, karyawan (kode_karyawan) dan mahasiswa (no_mhs). - fullName : string Merepresentasikan nama lengkap pengguna. Method + User() Konstruktor class ey.AcaDocflow.data.user.User. Buat instance baru ey.AcaDocflow.data.user.User tanpa atribut terdefinisi. Program Studi Teknik Informatika DPPL-AcaDocflow 13/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  14. 14. + User(name : string, pass : string, email : string, status : string) Konstruktor class ey.AcaDocflow.data.user.User. Buat instance baru ey.AcaDocflow.data.user.User dengan atribut terdefinisi. + User(username : string, fullname : string, kode : string) Konstruktor class ey.AcaDocflow.data.user.User. Buat instance baru ey.AcaDocflow.data.user.User dengan atribut terdefinisi. 2.2.3.2.2 Class ey.AcaDoclow.data.user.UserManager Gambar 2.5 Class ey.AcaDocflow.data.user.UserManager Deskripsi Class yang berperan sebagai control class untuk aksi yang berhubungan dengan pengelolaan data user/pengguna pada AcaDocflow. Atribut - statusLogin : string Merepresentasikan status Login. Method + UserManager() Konstruktor class ey.AcaDocflow.data.user.UserManager. Buat instance baru ey.AcaDocflow.data.user.UserManager. + ValidateLoginID(nama : string, password : string) : bool Validasi username dan password apakah sudah ada dalam basis data. Parameters : Program Studi Teknik Informatika DPPL-AcaDocflow 14/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  15. 15. nama – username yang akan divalidasi. password – username yang akan divalidasi. Returns: true jika dan hanya jika username dan password ada dalam database dan valid. + ValidateCode(status : string, kode : string, kriteria : string) : bool Validasi kode/nomor tergantung dari status (dosen, karyawan, mahasiswa) apakah sudah ada dalam basis data. Parameters : status – merepresentasikan nama tabel kode – kode/nomor yang akan divalidasi. kriteria – merepresentasikan nama kolom. Returns: true jika dan hanya jika kode yang diinputkan ada dalam database. + ValidateUserName(nama : string) : bool Validasi username apakah sudah ada dalam basis data. Parameters : nama – username yang akan divalidasi. Returns: true jika dan hanya jika username tidak ada dalam database. + GetUserForName(name : string) : ey.AcaDocflow.data.user. User Memperoleh class ey.AcaDocflow.data.user.User untuk username tertentu. Parameters : name – username yang akan diambil User-nya. Returns: ey.AcaDocflow.data.user.User untuk username name, atau null jika username tidak ditemukan. + GetDosenTo(username : string, con : Connection) : DataReader Program Studi Teknik Informatika DPPL-AcaDocflow 15/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  16. 16. Ambil nama dan kode dosen yang berasal dari bagian Prodi (Ketua/Sekretaris) dan jurusannya sama dengan jurusan dari username. Parameters : username – username yang akan diambil jurusannya. con – koneksi ke basis data. Returns: Data Reader yang berisi nama dan kode dosen yang berasal dari bagian Prodi dan jurusannya sama dengan jurusan dari username yang tersimpan pada basis data. + GetKaryawan(con : Connection) : DataReader Ambil kode dan nama karyawan. Parameters : con – koneksi ke basis data. Returns: Data Reader yang berisi kode dan nama karyawan yang tersimpan pada basis data. + GetData(nama : string) : ey.AcaDocflow.data.user. User Memperoleh class ey.AcaDocflow.data.user.User untuk username tertentu. Parameters : nama – username yang akan diambil User-nya. Returns: ey.AcaDocflow.data.user.User untuk username name, atau null jika username tidak ditemukan. + GetUserForCode(kode : string) : ey.AcaDocflow.data.user. User Memperoleh class ey.AcaDocflow.data.user.User untuk kode tertentu. Parameters : kode – kode yang akan diambil User-nya. Returns: ey.AcaDocflow.data.user.User untuk kode kode, atau null jika kode tidak ditemukan. Program Studi Teknik Informatika DPPL-AcaDocflow 16/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  17. 17. + GetNamaDosen(jurusan : string, con : Connection) : DataReader Ambil kode dan nama dosen dimana jurusannya sama dengan jurusan. Parameters : jurusan – jurusan dari data dosen yang akan diambil. con – koneksi ke basis data. Returns: Data Reader yang berisi kode dan nama dosen yang jurusannya jurusan yang tersimpan pada basis data. + GetNamaPenguji(idJadwal : int, jurusan : string, con : Connection) : DataReader Ambil kode dan nama dosen dimana jurusannya sama dengan jurusan dan kode dosen yang diambil tidak ada di dalam kode dosen yang memiliki jadwal pada idJadwal tersebut. Parameters : idJadwal – idJadwal dari data dosen yang akan mengeliminasikan kode dosen yang memiliki jadwal pada idJadwal tersebut. jurusan – jurusan dari data dosen yang akan diambil. con – koneksi ke basis data. Returns: Data Reader yang berisi kode dan nama dosen yang jurusannya jurusan dan mempunyai jadwal kosong pada idJadwal tersebut yang tersimpan pada basis data. + AddUser(user : ey.AcaDocflow.data.user.User) : bool Digunakan untuk menambahkan user baru. Parameters : user – ey.AcaDocflow.data.user.User yang akan ditambahkan. Returns: true jika User berhasil ditambahkan. + UpdateData(upUser : ey.AcaDocflow.data.user.User, tabel : string, kriteria : string) : bool Program Studi Teknik Informatika DPPL-AcaDocflow 17/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  18. 18. Digunakan untuk mengubah data pada tabel yang tabel mempunyai kriteria tertentu. Parameters : – data yang akan upUser ey.AcaDocflow.data.user.User digunakan untuk memperbaharui data user pada basis data. tabel – nama tabel yang akan diperbaharui. kriteria – kode/nomor yang akan diubah. Returns: true jika tabel yang bernama tabel dengan kriteria tersebut berhasil diubah. + IsFromProdi(username : string) : bool Digunakan untuk memeriksa apakah username tersebut berasal dari bagian Prodi. Parameters : username – username yang akan diperiksa. Returns: true jika username berasal dari bagian Prodi. 2.2.3.2.3 Class ey.AcaDoclow.data.user.LoginUI Gambar 2.6 Class ey.AcaDocflow.data.user.LoginUI Deskripsi Class ini merupakan GUI yang digunakan untuk validasi username dan password untuk login (SKPL-AcaDocflow.UC-01). Atribut - userMan : ey.AcaDocflow.data.user.UserManager Merupakan control class untuk melakukan validasi username dan password. Method + LoginUI() Buat instance baru ey.AcaDocflow.data.user.LoginUI. Program Studi Teknik Informatika DPPL-AcaDocflow 18/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  19. 19. 2.2.3.3 Sub-package pengelolaan kunci (ey.AcaDocflow.data.key) 2.2.3.3.1 Class ey.AcaDoclow.data.key.Key Gambar 2.7 Class ey.AcaDocflow.data.key.Key Deskripsi Class ini merepresentasikan kunci publik dan kunci privat user baik sender maupun receiver. Atribut - publicKey : string Merepresentasikan kunci publik pengguna. - privateKey : string Merepresentasikan kunci privat pengguna. - userName : string Merepresentasikan nama pengguna kunci. Method + Key() Konstruktor class ey.AcaDocflow.data.key.Key. Buat instance baru ey.AcaDocflow.data.key.Key tanpa atribut terdefinisi. + Key(id : int, public : string, private : string, name : string) Konstruktor class ey.AcaDocflow.data.key.Key. Buat instance baru ey.AcaDocflow.data.key.Key dengan atribut terdefinisi. 2.2.3.3.2 Class ey.AcaDoclow.data.key.KeyManager Gambar 2.8 Class ey.AcaDocflow.data.key.KeyManager Program Studi Teknik Informatika DPPL-AcaDocflow 19/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  20. 20. Deskripsi Class yang berperan sebagai control class untuk aksi yang berhubungan dengan pengelolaan data kunci user/pengguna pada AcaDocflow. Atribut - newKey : ey.AcaDocflow.data.key.Key Merupakan objek dari entity class ey.AcaDocflow.data.key.Key Method + KeyManager() Konstruktor class Buat ey.AcaDocflow.data.key.KeyManager. instance baru ey.AcaDocflow.data.key.KeyManager. + GenerateKey() : void Membangkitkan sepasang kunci (kunci privat dan kunci publik) . + SaveKey(pathPrivateKey : string, username : string) : bool Digunakan untuk menyimpan kunci privat ke dalam file di pathPrivateKey dan kunci publik untuk username yang tersimpan dalam database. Parameters : pathPrivateKey – alamat dimana kunci privat akan disimpan. username – username yang akan disimpan kunci publiknya. Returns: true jika kunci privat dan kunci publik berhasil disimpan. + GetReceiverPublicKey(kode : string) : string Ambil kunci publik penerima pada database yang kodenya sama dengan kode. Parameters : kode – kode penerima dari kunci publik yang akan diambil. Returns: Kunci publik untuk kode penerima yang sama dengan kode. + GetSenderPublicKey(username : string) : string Ambil kunci publik pengirim dengan nama username pada database. Parameters : Program Studi Teknik Informatika DPPL-AcaDocflow 20/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  21. 21. username – username pengirim dari kunci publik yang akan diambil. Returns: Kunci publik untuk nama username pengirim yang sama dengan username. 2.2.3.3.3 Class ey.AcaDoclow.data.key.GenerateKeyUI Gambar 2.9 Class ey.AcaDocflow.data.key.GenerateKeyUI Deskripsi Class ini merupakan GUI untuk melakukan pembangkitan dan penyimpan sepasang kunci (kunci privat dan kunci publik). Atribut - keyMan : ey.AcaDocflow.data.key.KeyManager Merupakan control class untuk melakukan pembangkitan dan penyimpan data kunci. - userMan : ey.AcaDocflow.data.user.UserManager Merupakan control class untuk melakukan pengelolaan data user. Method + GenerateKeyUI() Buat instance baru ey.AcaDocflow.data.key.GenerateKeyUI. Program Studi Teknik Informatika DPPL-AcaDocflow 21/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  22. 22. 2.2.4 Package Documents Management (ey.AcaDocflow.documents) 2.2.4.1 Class diagram package ey.AcaDocflow.documents 0..* ReportUI 1..* 1 Document JadwalManager <<access>> <<create>> <<use>> <<access>> JadwalUI 1 <<access>> 1 1 <<access>> 1 1 1 1 DocumentUI RuangManager DocumentManager Gambar 2.10 Class Diagram Package ey.AcaDocflow.documents 2.2.4.2 Sub-package pengelolaan dokumen (ey.AcaDocflow.documents.document) 2.2.4.2.1 Class ey.AcaDocflow.documents.document.Document Gambar 2.11 Class ey.AcaDocflow.documents.document.Document Deskripsi Class ini merepresentasikan data-data dokumen yang berhubungan dengan pengiriman dan penerimaan. Atribut - idDoc : byte Merepresentasikan nomor dokumen. - jenisDoc : byte Merepresentasikan jenis dokumen. - idSign : int Merepresentasikan id tanda tangan digital. - from : string Merepresentasikan user yang sedang login (sender). Program Studi Teknik Informatika DPPL-AcaDocflow 22/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  23. 23. - to : string Merepresentasikan penerima. - tgl_Kirim : string Merepresentasikan tanggal dan waktu dokumen dikirim. - tgl_Aprroved : int Merepresentasikan tanggal dan waktu dokumen disetujui. - status : byte Merepresentasikan status dari aliran dokumen. - pathEnkripsi : string Merepresentasikan alamat/path dokumen terenkripsi. - pathSignature : string Merepresentasikan alamat/path dokumen tertandatangani. - owner : string Merepresentasikan pemilik dokumen. Method + Document() Konstruktor class ey.AcaDocflow.documents.document.Document. Buat instance baru ey.AcaDocflow. document.Document tanpa atribut terdefinisi. + Document(pathE : string, pathS : string, status : byte) Konstruktor class ey.AcaDocflow.documents.document.Document. Buat instance baru ey.AcaDocflow.documents.document.Document dengan atribut terdefinisi. Program Studi Teknik Informatika DPPL-AcaDocflow 23/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  24. 24. 2.2.4.2.2 Class ey.AcaDocflow.documents.document.DocumentManager Gambar 2.12 Class ey.AcaDocflow.documents.document.DocumentManager Deskripsi Class yang berperan sebagai control class untuk aksi yang berhubungan dengan pengelolaan data dokumen pada AcaDocflow. Atribut - Method + DocumentManager() Konstruktor class ey.AcaDocflow.documents.document.Document Manager. Buat instance baru ey.AcaDocflow.documents.document. DocumentManager. + GetEncryptedDoc(pathEncrypt : string) : byte[] Ambil byte of array dari dokumen terenkripsi. Parameters : pathEncrypt – alamat dimana dokumen terenkripsi disimpan. Returns: byte of array dari dokumen terenkripsi + SaveSignedDoc(signed : byte[], pathSign : string) : bool Digunakan untuk menyimpan dokumen yang telah ditandatangani. Parameters : signed – hasil perhitungan hash dari dokumen terekripsi. Program Studi Teknik Informatika DPPL-AcaDocflow 24/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  25. 25. pathSign – alamat dimana dokumen yang telah ditandatangani akan disimpan. Returns: true jika signed document berhasil disimpan dan false jika sebaliknya. +GetSignedDoc(pathSign : string) : byte[] Ambil byte of array dari dokumen yang telah ditandatangani. Parameters : pathSign – alamat dimana dokumen yang telah ditandatangni (signed document) disimpan. Returns: byte of array dari signed document. +AddSendDoc(doc : ey.AcaDocflow.documents.document. Document) : bool Digunakan untuk menambahkan data pengiriman dokumen. Parameters : doc – ey.AcaDocflow.documents.document.Document yang akan ditambahkan. Returns: true jika doc berhasil ditambahkan. +GetFileContent(path : string) : string Ambil isi/content dari file. Parameters : path – alamat file dimana isinya yang akan diambil. Returns: Isi dari file yang berada pada path. +GetPath_StatusForIDSign(idSign : int) : ey.AcaDocflow. document.Document Memperoleh class ey.AcaDocflow.documents.document.Document untuk idSign tertentu. Parameters : idSign – ID tanda tangan digital yang akan diambil ey.AcaDocflow. document.Document-nya. Program Studi Teknik Informatika DPPL-AcaDocflow 25/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  26. 26. Returns: untuk id tanda ey.AcaDocflow.documents.document.Document tangan digital idSign atau null jika tidak ditemukan. +GetDocToVerify(username : string, isFromProdi : bool, status : string) : DataSet Ambil dokumen yang akan diverifikasi yang username-nya sama dengan username dan berstatus status dan sesuai dengan kriteria isFromProdi. Parameters : username – username dari dokumen yang akan diambil. isFromProdi – menyatakan apakah username tersebut berasal dari bagian prodi (true) atau tidak (false). status – status user dari dokumen yang akan diambil. Returns: Set data yang berisi semua dokumen yang harus diverifikasi oleh user yang namanya sama dengan username dan berstatus status serta dengan kriteria isFromProdi. +GetDocHasVerify(username : string, isFromProdi : bool, status : string) : DataSet Ambil dokumen yang telah diverifikasi yang username-nya sama dengan username dan berstatus status dan sesuai dengan kriteria isFromProdi. Parameters : username – username dari dokumen yang akan diambil. isFromProdi – menyatakan apakah username tersebut berasal dari bagian prodi (true) atau tidak (false). status – status user dari dokumen yang akan diambil. Returns: Set data yang berisi semua dokumen yang telah diverifikasi oleh user yang namanya sama dengan username dan berstatus status serta dengan kriteria isFromProdi. +GetDataForReport(jenis : string, path : string) : DataSet Ambil data/isi dari dokumen yang jenis dokumenya sama dengan jenis dan berada pada alamat path. Program Studi Teknik Informatika DPPL-AcaDocflow 26/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  27. 27. Parameters : jenis – jenis dokumen dari dokumen yang akan diambil datanya. path – alamat dari dokumen yang akan diambil datanya. Returns: Set data yang berisi data-data yang terdapat pada dokumen yang berada pada alamat path. +UpdateApprovedDate(idSign : int, tglApproved : string) : bool Mengubah tanggal approved menjadi tglApproved dimana idSign sama dengan idSign yang terdapat pada basis data. Parameters : – idSign dari tanggal approved yang akan diubah. idSign tglApproved – digunakan untuk mengubah tanggal approved pada basis data. Returns: true jika tanggal approved yang idSign sama dengan idSign berhasil diubah. +UpdateStatus(idSign : int) : bool Mengubah status dokumen pada idSign tertentu (idSign) yang terdapat pada basis data. Parameters : idSign – idSign dari status dokumen yang akan diubah. Returns: true jika status dokumen pada idSign berhasil diubah. +UpdateStatusSendDoc(idSign : int, upDoc : ey.AcaDocflow. documents.document.Document) : bool Mengubah data pengiriman dokumen yang mempunyai idSign tertentu. Parameters : idSign – idSign dari dokumen yang akan diubah. upDoc – data ey.AcaDocflow.documents.document.Document yang digunakan untuk memperbaharui data dokumen pada basis data. Returns: true jika dokumen pada idSign berhasil diubah. Program Studi Teknik Informatika DPPL-AcaDocflow 27/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  28. 28. +GetDetailDataKP(nama : string, no : string, t4Lahir : string, tglLahir : string, aAsal : string, aYogya : string, dosenPemb : string, haritgl : string, pukul : string, t4ujian : string, fasilitas : string, judul : string, t4KP : string) : string[] Ambil isi/content dari file. Parameters : nama (Nama mahasiswa), no (Nomor mahasiswa), t4Lahir (tempat lahir mahasiswa), tglLahir (tanggal lahir mahasiswa), aAsal (Alamat asal mahasiswa), aYogya (Alamat mahsiswa di Yogya), dosenPemb (Dosen pembimbing KP), haritgl (Hari dan tanggal ujian KP), pukul (waktu ujian KP), t4ujian (Tempat ujian KP), fasilitas (fasilitas yang diperlukan untuk ujian KP), judul (Judul laporan KP), t4KP (Tempat mahasiswa KP). Returns: Array of string yang berisi data-data pendaftaran ujian kerja praktek. +GetDetailDataKP(nama : string, no : string, t4Lahir : string, tglLahir : string, aAsal : string, aYogya : string, konsentrasi : string, mk1 : string, mk2 : string, mk3 : string, mk4 : string. Mk5 : string, mk6 : string, dosenPemb1 : string, dosenPemb2 : string, ujianKe : string, haritgl : string, pukul : string, ketua : string, sekretaris : string, angg1 : string, angg2 : string, t4ujian : string, fasilitas : string, judul : string) : string[] Ambil isi/content dari file. Parameters : nama (Nama mahasiswa), no (Nomor mahasiswa), t4Lahir (tempat lahir mahasiswa), tglLahir (tanggal lahir mahasiswa), aAsal (Alamat asal mahasiswa), aYogya (Alamat mahsiswa di Yogya), konsentrasi (Mata kuliah konsentrasi), mk1 (Mata kuliah pilihan 1), mk2 (Mata kuliah pilihan 2), mk3 (Mata kuliah pilihan 3), mk4 (Mata kuliah pilihan 4), mk5 (Mata kuliah pilihan 5), mk6 (Mata kuliah pilihan 6), dosenPemb1 (Dosen pembimbing 1), dosenPemb2 (Dosen pembimbing 2), ujianKe (Menyatakan ujian keberapa), haritgl (Hari dan tanggal ujian KP), pukul (waktu ujian KP), ketua,sekretaris,angg1,angg2 (Menyatakan dosen penguji), t4ujian (Tempat ujian), Program Studi Teknik Informatika DPPL-AcaDocflow 28/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  29. 29. fasilitas (fasilitas yang diperlukan untuk ujian), judul (Judul Skripsi). Returns: Array of string yang berisi data-data pendaftaran ujian pendadaran. +GetNumbersofIDSign(idDoc : int, jurusan: string, tglAwal : string, tglAkhir : string) : int Ambil jumlah dokumen yang diverifikasi dengan kriteria tertentu. Parameters : idDoc – jenis dokumen dari dokumen yang akan diambil datanya. jurusan – jurusan dari mahasiswa yang akan diambil datanya. tglAwal – tanggal awal dokumen yang telah diverifikasi yang akan diambil datanya. tglAkhir – tanggal akhir dokumen yang telah diverifikasi yang akan diambil datanya. Returns: Jumlah dokumen yang sesuai dengan kriteria tertentu pada atribut tersebut. +GetIDSign(idDoc : int, jurusan: string, tglAwal : string, tglAkhir : string) : int[] Ambil nomor IDSign yang sesuai dengan kriteria tertentu. Parameters : idDoc – jenis dokumen dari dokumen yang akan diambil datanya. jurusan – jurusan dari mahasiswa yang akan diambil datanya. tglAwal – tanggal awal dokumen yang telah diverifikasi yang akan diambil datanya. tglAkhir – tanggal akhir dokumen yang telah diverifikasi yang akan diambil datanya. Returns: Array of integer yang berisi nomor IDSign yang sesuai dengan kriteria tertentu. +GetDataReportJadwal(MYW : string, idDoc : int, jurusan: string, tglAwal : string, tglAkhir : string) : DataSet Ambil data/isi dari dokumen sesuai dengan kriteria tertentu pada atribut-atribut yang ada pada fungsi tersebut. Program Studi Teknik Informatika DPPL-AcaDocflow 29/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  30. 30. Parameters : MYW – bulan, tahun dan minggu keberapa dari dokumen yang akan diambil datanya. idDoc – jenis dokumen dari dokumen yang akan diambil datanya. jurusan – jurusan dari mahasiswa yang akan diambil datanya. tglAwal – tanggal awal dokumen yang telah diverifikasi yang akan diambil datanya. tglAkhir – tanggal akhir dokumen yang telah diverifikasi yang akan diambil datanya. Returns: Set data yang berisi data-data jadwal ujian yang sesuai dengan kriteria tertentu. 2.2.4.2.3 Class ey.AcaDocflow.documents.document.DocumentUI Gambar 2.13 Class ey.AcaDocflow.documents.document.DocumentUI Deskripsi Class ini merupakan GUI untuk melakukan penyimpanan dan pembacaan dokumen XML. Atribut - docMan : ey.AcaDocflow.documents.document.DocumentManager Merupakan control class untuk melakukan pengelolaan data dokumen. - jadwalMan : ey.AcaDocflow.documents.jadwal.JadwalManager Merupakan control class untuk melakukan pengelolaan data jadwal dosen. - ruangMan : ey.AcaDocflow.documents.ruang.RuangManager Merupakan control class untuk melakukan pengelolaan data ruang. Method + DocumentUI() Buat instance baru ey.AcaDocflow.documents.document.DocumentUI. Program Studi Teknik Informatika DPPL-AcaDocflow 30/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  31. 31. 2.2.4.2.4 Class ey.AcaDocflow.documents.document.ReportUI Gambar 2.14 Class ey.AcaDocflow.documents.document.ReportUI Deskripsi Class ini merupakan GUI untuk menampilkan isi dokumen yang telah disi ataupun dikirim. Atribut - docMan : ey.AcaDocflow.documents.document.DocumentManager Merupakan control class untuk melakukan pengelolaan data dokumen. Method + ReportUI() Buat instance baru ey.AcaDocflow.documents.document.ReportUI. 2.2.4.2.5 Class ey.AcaDocflow.documents.document.JadwalUI Gambar 2.15 Class ey.AcaDocflow.documents.document.JadwalUI Deskripsi Class ini merupakan GUI untuk menampilkan/mencetak jadwal ujian pandadaran maupun ujian kerja praktek selama seminggu. Atribut - docMan : ey.AcaDocflow.documents.document.DocumentManager Merupakan control class untuk melakukan pengelolaan data dokumen. Method + JadwalUI() Buat instance baru ey.AcaDocflow.documents.document.JadwalUI. Program Studi Teknik Informatika DPPL-AcaDocflow 31/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  32. 32. 2.2.4.3 Sub-package pengelolaan Jadwal (ey.AcaDocflow.documents.jadwal) 2.2.4.3.1 Class ey.AcaDocflow.documents.jadwal.JadwalManager Gambar 2.16 Class ey.AcaDocflow.documents.jadwal.JadwalManager Deskripsi Class yang berperan sebagai control class untuk aksi yang berhubungan dengan pengelolaan jadwal mengajar maupun jadwal menguji ujian pendadaran atau ujian kerja praktek. Atribut - Method + JadwalManager() Konstruktor class ey.AcaDocflow.documents.jadwal.JadwalManager. Buat instance baru ey.AcaDocflow.documents.jadwal.sender Manager. +GetIDJadwal(hari : string, sesi : int) : int Ambil IDJadwal dimana harinya sama dengan hari dan sesinya sama dengan sesi. Parameters : hari – hari dari jadwal yang akan diambil datanya. sesi – sesi dari jadwal yang akan diambil datanya. Returns: IDJadwal yang harinya sama dengan hari dan sesinya sama dengan sesi. + ValidateJadwalDosen(tanggal : string, hari : string, sesi : int, kodeDosen : string) : bool Validasi jadwal dosen apakah kode dosen tersebut tidak memiliki jadwal pada tanggal, hari dan sesi tersebut. Parameters : tanggal – tanggal yang akan divalidasi Program Studi Teknik Informatika DPPL-AcaDocflow 32/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  33. 33. hari – hari yang akan divalidasi. sesi – sesi yang akan divalidasi. kodeDosen – kode dosen yang akan divalidasi. Returns: true jika kode dosen tersebut tidak memiliki jadwal pada tanggal, hari dan sesi tersebut, sedangkan false jika sebaliknya. +AddJadwalUjianDosen(tanggal : string, hari : string, sesi : int, kodeDosen : string) : bool Digunakan untuk menambahkan data jadwal ujian bagi dosen. Parameters : tanggal – tanggal yang akan ditambahkan. hari – hari yang akan ditambahkan. sesi – sesi yang akan ditambahkan. kodeDosen – kode dosen yang akan ditambahkan. Returns: jika data jadwal ujian bagi dosen tersebut berhasil true ditambahkan. +GetJadwalRekomendasi(tglAwal : string, tglAkhir : string, DP1 : string, DP2: string, con : Connection) : DataReader Ambil semua jadwal kosong dosen DP1 dan DP2 antara tanggal tglAwal dan tglAkhir yang tersimpan pada basis data. Parameters : tglAwal – tanggal awal dari jadwal yang akan diambil. tglAkhir – tanggal akhir dari jadwal yang akan diambil. DP1 – dosen pembimbing 1 dari jadwal yang akan diambil. DP2 – dosen pembimbing 2 dari jadwal yang akan diambil. con – Koneksi ke basis data. Returns: Data Reader yang berisi semua jadwal kosong dosen DP1 dan DP2 antara tanggal tglAwal dan tglAkhir yang tersimpan pada basis data. Program Studi Teknik Informatika DPPL-AcaDocflow 33/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  34. 34. 2.2.4.4 Sub-package pengelolaan Ruang (ey.AcaDocflow.documents.ruang) 2.2.4.4.1 Class ey.AcaDocflow.documents.ruang.RuangManager Gambar 2.17 Class ey.AcaDocflow.documents.ruang.RuangManager Deskripsi Class yang berperan sebagai control class untuk aksi yang berhubungan dengan pengelolaan data ruang. Atribut - Method + RuangManager() Konstruktor class ey.AcaDocflow.documents.ruang.RuangManager. Buat instance baru ey.AcaDocflow.documents.ruang.RuangManager. +UpdateRuangUjian(tanggal : string, hari : string, sesi : int, kodeDosen : string, ruang : string) : bool Mengubah nama ruang ujian pada tanggal, hari, sesi dan kode dosen tertentu. Parameters : tanggal – tanggal dari nama ruang yang akan diubah. hari – hari dari nama ruang yang akan diubah. sesi – sesi dari nama ruang yang akan diubah. kodeDosen – kode dosen dari nama ruang yang akan diubah. ruang – nama ruang yang digunakan untuk memperbaharui nama ruang pada basis data. Returns: true jika nama ruang berhasil diubah. +GetRooms(prodi : string, hari : string, sesi : int, tanggal : string, con : Connection) : DataReader Ambil semua nama ruang yang mempunyai program studi prodi pada hari, sesi dan tanggal tertentu yang tersimpan pada basis data. Program Studi Teknik Informatika DPPL-AcaDocflow 34/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  35. 35. Parameters : prodi– program studi dari ruang yang akan diambil. hari – hari dari ruangyang akan diambil. sesi – sesi dari ruang yang akan diambil. tanggal – tanggal dari ruang yang akan diambil. Returns: Data Reader yang berisi semua nama ruang yang mempunyai program studi prodi pada hari, sesi dan tanggal tertentu yang tersimpan pada basis data. 2.2.5 Package Sender (ey.AcaDocflow.sender) 2.2.5.1 Class diagram package ey.AcaDocflow.sender 1 1 SenderUI SenderManager Gambar 2.18 Class Diagram Package ey.AcaDocflow.sender 2.2.5.2 Class ey.AcaDoclow.sender.SenderManager Gambar 2.19 Class ey.AcaDocflow.sender.SenderManager Deskripsi Class yang berperan sebagai control class untuk aksi yang berhubungan dengan pengelolaan yang terjadi pada sisi pengirim yaitu enkripsi dan tangan tangan digital pada dokumen. Atribut - Method + SenderManager() Program Studi Teknik Informatika DPPL-AcaDocflow 35/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  36. 36. Konstruktor class Buat ey.AcaDocflow.sender.SenderManager. instance baru ey.AcaDocflow.sender.senderManager. + SenderManager(rpKey : string) Konstruktor class Buat ey.AcaDocflow.sender.SenderManager. instance baru ey.AcaDocflow.sender.senderManager dengan atribut terdefinisi. Parameters : rpKey – receiver public key. + Encrypt(pathXMLDoc : string, pathEncrypt : string) : bool Melakukan enkripsi terhadap dokumen XML dengan kunci publik penerima dan menyimpan ke dalam pathEncrypt. Parameters : pathXMLDoc – alamat dimana dokumen XML disimpan. pathEncrypt – alamat dimana dokumen terenkripsi akan disimpan. Returns: true jika dokumen enkripsi berhasil disimpan dan false jika sebaliknya. + SignHash(encrypted : byte[], privatekey : string) : byte[] Melakukan tanda tangan digital pada dokumen yang telah di-hash (encrypted akan di-hash dengan algoritma MD5 terlebih dahulu) dengan menggunakan kunci privat pengirim. Parameters : encrypted – array of byte dari dokumen terenkripsi yang akan dilakukan fungsi hash. privatekey – kunci privat pengirim. Returns: Hasil dari tanda tangan digital yang berupa byte[] . + SendEmail(from : string, to : string) : bool Melakukan pengiriman email. Parameters : from – alamat email dari si pengirim. to – alamat email dari si penerima. Program Studi Teknik Informatika DPPL-AcaDocflow 36/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  37. 37. Returns: true jika email berhasil dikirim, sedangkan false jika sebaliknya. 2.2.5.3 Class ey.AcaDocflow.sender.SenderUI Gambar 2.20 Class ey.AcaDocflow.sender.SenderUI Deskripsi Class ini merupakan GUI untuk melakukan enkripsi dan tanda tangal digital pada dokumen yang akan dikirimkan oleh sender ke receiver. Atribut - senderMan : ey.AcaDocflow.sender.SenderManager Merupakan control class untuk melakukan enkripsi dan tanda tangan digital pada dokumen. - docMan : ey.AcaDocflow.document.DocumentManager Merupakan control class untuk melakukan pengelolaan terhadap dokumen. - keyMan : ey.AcaDocflow.data.key.KeyManager Merupakan control class untuk melakukan pembangkitan dan penyimpan data kunci. Method + SenderUI() Buat instance baru ey.AcaDocflow.sender.SenderUI. 2.2.6 Package Receiver (ey.AcaDocflow.receiver) 2.2.6.1 Class diagram package ey.AcaDocflow.receiver 1 1 ReceiverUI Receiv erManager Gambar 2.21 Class Diagram Package ey.AcaDocflow.receiver Program Studi Teknik Informatika DPPL-AcaDocflow 37/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  38. 38. 2.2.6.2 Class ey.AcaDocflow.receiver.ReceiverManager Gambar 2.22 Class ey.AcaDocflow.receiver.ReceiverManager Deskripsi Class yang berperan sebagai control class untuk aksi yang berhubungan dengan pengelolaan yang terjadi pada sisi penerima yaitu verifikasi tanda tangan digital dan dekripsi dokumen. Atribut - Method + ReceiverManager() Konstruktor class ey.AcaDocflow.receiver.ReceiverManager. Buat instance baru ey.AcaDocflow.receiver.ReceiverManager. + VerifyHash(encrypted : byte[], signed : byte[], publickey : string) : bool Melakukan verifikasi pada dokumen yang telah ditandatangani. Parameters : encrypted –array of byte dari dokumen terenkripsi yang akan dilakukan fungsi hash. signed– array of byte dari dokumen yang tertandatangani. publickey – kunci publik pengirim. Returns: true jika dokumen yang ditandatangani tidak dimodifikasi dan false jika sebaliknya + Decrypt(pathEncrypted : string, pathXMLDoc : string, privatekey : string) : bool Melakukan dekripsi terhadap dokumen terenkripsi dengan kunci privat penerima dan menyimpan ke dalam pathXMLDoc. Parameters : pathEncrypt – alamat dimana dokumen terenkripsi disimpan. Program Studi Teknik Informatika DPPL-AcaDocflow 38/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  39. 39. pathDoc – alamat dimana dokumen hasil dekripsi yang akan disimpan. privatekey – kunci privat penerima. Returns: true jika dokumen berhasil di dekripsi dan false jika sebaliknya. 2.2.6.3 Class ey.AcaDocflow.receiver.ReceiverUI Gambar 2.23 Class ey.AcaDocflow.receiver.ReceiverUI Deskripsi Class ini merupakan GUI untuk melakukan verifikasi tanda tangal digital dan dekripsi dokumen yang akan diterima oleh receiver dari sender. Atribut - receiverMan : ey.AcaDocflow.receiver.ReceiverManager Merupakan control class untuk melakukan verifikasi tanda tangan digital dan dekripsi dokumen yang terenkripsi. - docMan : ey.AcaDocflow.document.DocumentManager Merupakan control class untuk melakukan pengelolaan terhadap dokumen. - keyMan : ey.AcaDocflow.data.key.KeyManager Merupakan control class untuk melakukan pembangkitan dan penyimpan data kunci. Method + ReceiverUI() Buat instance baru ey.AcaDocflow.receiver.ReceiverUI. Program Studi Teknik Informatika DPPL-AcaDocflow 39/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  40. 40. 2.3 Realisasi Use Case 2.3.1 Use Case : Login : LoginUI aNewUser : user : DocFl owWebForm : UserManager : User 1. display UI 1.1. reset() 2. input username 3. input password 4. new 4.1. aNewUser 5. validateUser(User) 5.1. getUserForName(string) 6. setUser(aNewUser) Gambar 2.24 Design Sequence Diagram Use Case Login Flow of events : 1. User menampilkan antarmuka untuk login, yaitu boundary class LoginUI. LoginUI mengeset ulang (reset) tampilannya dengan mengosongkan semua textbox. 2. User memasukkan username. Username ini unik untuk masing-masing user. 3. User memasukkan password. Password ini merupakan rangkaian karakter dengan panjang 5-20 karakter, dan bersifat case-sensitive. 4. User memicu sistem untuk melakukan validasi login (validasi username dan password) melalui LoginUI (boundary class). LoginUI membuat objek aNewUser, yang merupakan instance baru class User. 5. LoginUI melakukan validasi terhadap aNewUser dengan memanggil method pada (control class). validateUser(User) UserManager UserManager Program Studi Teknik Informatika DPPL-AcaDocflow 40/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  41. 41. memvalidasi ini dengan memanggil method aNewUser getUserForName(string), yang akan memeriksa di database, apakah ada data dengan field username sesuai username aNewUser. Jika ada, maka sistem akan membandingkan password username tersebut dari database dengan password input user dari aNewUser. 6. User akan dapat masuk ke sistem bila username-nya ada dan password-nya sesuai. Objek digunakan sebagai account aktif pada aNewUser AcaDocflowWebForm. 2.3.2 Use Case : Generate Key : KeyM anager aNewKey : Key : User : UserManager aNewUser : user : GenerateKeyUI 1. display UI 2. input detail data 3. Val idateCode(stri ng, stri ng, string) 3.1. ValidateUserName(string) 4. new 4.1. aNewUser 4.2. AddUser(User) 4.3. UpdateData(User, string, string) 5. new 5.1. aNewKey 5.2. GenerateKey( ) 5.3. SaveKey(string, string) Gambar 2.25 Design Sequence Diagram Use Case Generate Key Flow of events : 1. User menampilkan antarmuka untuk generate key, yaitu boundary class GenerateUI. 2. User memasukkan detail data yang berupa : a. Username b. Password Program Studi Teknik Informatika DPPL-AcaDocflow 41/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika
  42. 42. c. Email d. Status e. Nomor Id sesuai dengan status yang dipilih 3. GenerateUI memanggil method ValidateCode(string,string,string) milik class UserManager untuk melakukan validasi terhadap nomor id yang dimasukkan dan memanggil method ValidateUserName(string) milik class UserManager untuk melakukan validasi terhadap username yang diinputkan apakah ada dalam database. 4. GenerateUI membentuk objek aNewUser, yang merupakan instance baru class User. Kemudian GenerateUI memanggil method AddUser(User) milik class UserManager, untuk menambahkan aNewUser ke database dan memanggil method UpdateData(User,string,string) milik class UserManager, untuk meng-update username pada tabel yang dipilih dari status dan kode/nomor yang dipilih dari nomor id yang sesuai dengan pilihan status. 5. GenerateUI membentuk objek aNewKey, yang merupakan instance baru class Key. GenerateUI kemudian memanggil method GenerateKey() milik class untuk membangkitkan kunci privat dan kunci publik dan KeyManager memanggil method SaveKey(string,string) milik class KeyManager untuk menambahkan aNewKey.publicKey ke database dan aNewKey.privateKey ke komputer user. Program Studi Teknik Informatika DPPL-AcaDocflow 42/ 79 Dokumen ini dan informasi yang dimilikinya adalah milik Program StudiTeknik Informatika-UAJY dan bersifat rahasia. Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Program Studi Teknik Informatika

×