Your SlideShare is downloading. ×
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

DPPL AcaDocFlow

967

Published on

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

No Downloads
Views
Total Views
967
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. + 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. 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. 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. + 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. 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. 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. 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. 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. 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. - 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. 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. 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. 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. 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. +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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 43. 2.3.3 Use Case : Pengelolaan Dokumen 2.3.3.1 Penyimpanan Dokumen : User : DocumentManager aNewDoc : Document : JadwalManager : RuangManager : DocumentUI 1. display UI 2. pi lih jenis kebutuhan 2.1. di splay UI sesuai kebutuhan 2.1.1. GetJadwalRekomendasi(string,string,string,string,con) 2.1.2. GetRooms(string,string,int,string,con) 2.2. ValidateJadwalDosen(string,int,string) 2.2.1. GetIDJadwal(string,i nt) 3. input detail data 4. new 4.1. aNewDoc 5. GetDetailDataKP(String[]) / GetDetailDataSkripsi(string[]) 6. SaveConvertXMLDoc(string,stri ng[],string) 6.1. AddJadwalUjianDosen(string,string,int,string) 6.2. UpdateRuangUjian(string,string,int,string,string) 6.3. UpdateStatus(int) Gambar 2.26 Design Sequence Diagram Use Case Pengelolaan Dokumen Flow of events : 1. User menampilkan antarmuka untuk input data dokumen, yaitu boundary class DocumentUI. 2. User memilih jenis kebutuhan yang terdiri dari jenis kebutuhan pendaftaran ujian pendadaran dan pendaftaran ujian kerja praktek. DocumentUI kemudian menampilkan user interface sesuai dengan jenis kebutuhan yang dipilih. memanggil method DocumentUI GetJadwalRekomendasi(string,string, string,string,con) untuk mengambil jadwal kosong yang bisa dipilih oleh dosen pembimbing KP/dosen pembimbing 1 skripsi. DocumentUI memanggil method GetRooms(string,string,int,string,con) untuk mengambil nama Program Studi Teknik Informatika DPPL-AcaDocflow 43/ 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
  • 44. ruang yang bisa dipakai untuk ujian (sender berstatus sebagai karyawan Tata Usaha). DocumentUI memanggil method ValidateJadwalDosen(string,int, yang didalamnya juga dipanggil method GetIDJadwal(string, string) string) untuk melakukan validasi terhadap jadwal dosen mengajar dengan jadwal ujian yang akan pilih (Jika sender berstatus sebagai dosen pembimbing atau berstatus sebagai kaprodi/sekprodi yang akan memilih dosen penguji). 3. User (Mahasiswa) memasukkan detail data sesuai dengan jenis kebutuhan yang dipilih berupa nama mahasiswa, nomor mahasiswa, tempat dan tanggal lahir, alamat, judul laporan KP/Skripsi dan fasilitas ujian dan lain sebagainya. User (Dosen Pembimbing KP / Dosen Pembimbing I Skripsi) memilih tanggal dan waktu ujian. User (Bagian Prodi) memilih dosen penguji untuk pendadaran. User (Tata Usaha) memilih ruang ujian. 4. DocumentUI membentuk objek aNewDoc, yang merupakan instance baru class Document. 5. DocumentUI memanggil method atau GetDetailDataKP(string[]) milik class sesuai GetDetailDataSkripsi(string[]) DocumentManager dokumen yang dipilih untuk mengambil detail data tersebut. 6. DocumentUI memanggil method saveConvertXMLDoc(string, string[], string) milik class DocumentManager untuk menyimpan dokumen XML. Kemudian DocumentUI memanggil method AddJadwalUjianDosen(string, string,int,string) milik class JadwalManager untuk menambahkan data jadwal ujian pada basis data (sender berstatus dosen pembimbing 1 atau kaprodi/sekprodi). DocumentUI memanggil method UpdateRuangUjian(string, string,int,string,string) milik class RuangManager untuk memperbaharui nama ruang ujian dan method milik class UpdateStatus(int) DocumentManager untuk memperbaharui status dokumen (sender berstatus karyawan Tata Usaha). Program Studi Teknik Informatika DPPL-AcaDocflow 44/ 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
  • 45. 2.3.3.2 Use Case : Melihat/Mencetak Isi Dokumen : DocumentManager : ReportUI User Interface aNewDoc : Document : User 1. display UI 1.1. GetDocHasVerify(string,bool,string) 2. pilih dokum en 2.1. new 2.1.1. aNewDoc 2.2. GetPath_StatusForIDSign(int) 2.3. pathXMLDoc 3. GetDataForReport(string,string) 3.1. ReadXMLDoc(string,stri ng) Gambar 2.27 Design Sequence Diagram Use Case Pengelolaan Dokumen Flow of events : 1. User menampilkan antarmuka untuk melihat/mencetak isi dokumen. Kemudian sistem menampilkan dokumen yang telah dikirim ataupun yang telah diverifikasi dengan memanggil method GetDocHasVerify(string,bool, string) milik class DocumentManager. 2. User memilih dokumen yang ingin dilihat/dicetak isinya. Kemudian User Interface membentuk objek aNewDoc, yang merupakan instance baru class Document. UI tersebut memanggil method GetPath_StatusForIDSign(int) untuk mengambil path/alamat dokumen XML dari dokumen yang dipilih dan mengirimkannya ke ReportUI. 3. ReportUI memanggil method GetDataForReport(string,string) milik class yang didalamnya juga dipanggil method ReadXMLDoc DocumentManager, (string,string) untuk mengambil data-data yang terdapat pada path/alamat dokumen XML tersebut. Program Studi Teknik Informatika DPPL-AcaDocflow 45/ 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
  • 46. 2.3.4 Use Case : Encrypt : SenderUI : SenderManager : KeyM anager : DocumentManager aNewDoc : Document : UserManager : User 1. display UI 1.1. new 1.1.1. aNewDoc 1.2. GetData(string) 1.3. GetPath_StatusForIDSign(int) 1.4. GetDosenTo(string, con) / GetKaryawan(con) 1.5. ambil pathXMLDoc 2. input receiver 3. GetReceiverPublicKey(string) 4. Encrypt(string,string) Gambar 2.28 Design Sequence Diagram Use Case Encrypt Flow of events : 1. User menampilkan antarmuka untuk input data pengiriman, yaitu boundary class SenderUI. SenderUI membentuk objek aNewDoc, yang merupakan instance baru class Document. Kemudian SenderUI memanggil method GetData(string) milik class UserManager untuk menampilkan nama lengkap berserta kode/nomor dari pengguna tersebut, memanggil method milik class untuk GetPath_StatusForIDSign(int) DocumentManager mengambil status dokumen, kemudian memanggil method atau GetKaryawan(con) milik class UserManager GetDosenTo(string,con) sesuai status dokumen untuk menampilkan tujuan pengiriman dari dokumen tersebut. Setelah itu SenderUI akan mengambil pathXMLDoc. 2. User memilih penerima/receiver atas dokumen yang akan dikirim sesuai dengan aliran dokumen. Program Studi Teknik Informatika DPPL-AcaDocflow 46/ 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
  • 47. 3. SenderUI memanggil method GetReceiverPublicKey(string) milik class KeyManager, untuk mengambil kunci publik receiver yang ada di dalam database. 4. SenderUI memanggil method milik class Encrypt(string,string) SenderManager untuk melakukan enkripsi terhadap dokumen yang telah diisi dan kemudian disimpan ke dalam path enkripsi. 2.3.5 Use Case : Create Digital Signature : SenderUI : User : DocumentManager aNewDoc : Document : SenderManager 1. input pri vate key 2. GetEncryptedDoc(string) 3. GetFileContent(string) 4.SignHash(byte[], string) 5. new 5.1. aNewDoc 5.2. SaveSignedDoc(byte[], string) 6. AddSendDoc(Document) / UpdateStatusSendDoc(Docum ent) Gambar 2.29 Design Sequence Diagram Use Case Create Digital Signature Flow of events : 1. User memasukkan kunci privatnya untuk melakukan tanda tangan digital. 2. SenderUI memanggil method milik class GetEncryptedDoc(string) DocumentManager, untuk mengambil byte array dari dokumen yang telah dienkripsi tersebut. 3. SenderUI memanggil method milik class GetFileContent(string) DocumentManager, untuk mengembalikan isi daripada file private key yang diinputkan sender. 4. SenderUI memanggil method milik class signHash(byte[],string) SenderManager, untuk mengembalikan byte array hasil tanda tangan digital Program Studi Teknik Informatika DPPL-AcaDocflow 47/ 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
  • 48. dokumen terenkripsi dengan menggunakan kunci privat sender, dimana sebelumnya akan dilakukan perhitungan hash dari dokumen enkripsi dengan menggunakan algoritma MD5. 5. SenderUI membentuk objek aNewDoc, yang merupakan instance baru class Document. Kemudian SenderUI memanggil method saveSignedDoc(byte[], string) milik class DocumentManager untuk menyimpan dokumen yang telah ditandatangani ke dalam path signature. 6. SenderUI memanggil method AddSendDoc(byte[], milik class string) DocumentManager untuk menyimpan data-data dokumen yang dikirim. 2.3.6 Use Case : Send Email : SenderUI : User : SenderManager : UserManager 1. display UI 2. GetUserForName(string) 3. GetUserForCode(string) 4. SendEmail(string, string) Gambar 2.30 Design Sequence Diagram Use Case Send Email Flow of events : 1. User menampilkan antarmuka untuk mengirim email ke penerima dokumen. 2. SenderUI memanggil method milik class GetUserForName(string) UserManager, untuk mengambil alamat email dari si pengirim. 3. SenderUI memanggil method milik class GetUserForCode(string) UserManager, untuk mengambil alamat email dari si penerima. 4. SenderUI memanggil method milik class SendEmail(string,string) SenderManager untuk mengirimkan email pemberitahuan kepada si penerima. Program Studi Teknik Informatika DPPL-AcaDocflow 48/ 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
  • 49. 2.3.7 Use Case : Verify aNewDoc : Document : ReceiverManager : KeyM anager : UserManager : DocumentManager : User : ReceiverUI 1. display UI 1.1. IsFromProdi(string) 1.2. GetDocToVerify(string, bool, string) 2. pilih dokumen 3. new 3.1. aNewDoc 3.2. GetPath_StatusForIDSign(int) 4. GetEncryptedDoc(string) 5. GetSignedDoc(string) 6. GetSenderPublicKey(string) 7. verifyHash(byte[], byte[], string) Gambar 2.31 Design Sequence Diagram Use Case Verify Flow of events : 1. User (Dosen Pembimbing/Bagian Prodi/Tata Usaha) menampilkan antarmuka untuk memverifikasi dokumen yang dikirim oleh sender, yaitu boundary class memanggil method IsFromProdi(string) untuk ReceiverUI. ReceiverUI mengecek apakah user yang login berstatus sebagai Kaprodi/Sekrestas prodi. Kemudian memanggil method ReceiverUI GetDocToVerify (string,bool,string) untuk menampilkan dokumen yang akan diverifikasi itu berdasarkan username dan status dari user serta apakah dari bagian prodi. 2. User (Dosen Pembimbing/Bagian Prodi/Tata Usaha) memilih dokumen yang akan diverifikasi. 3. ReceiverUI membentuk objek aNewDoc, yang merupakan instance baru class Kemudian memanggil method GetPath_StatusForIDSign(int) Document. milik class untuk mengambil pathEncrypted dan DocumentManager, pathSigned dari dokumen yang dipilih. Program Studi Teknik Informatika DPPL-AcaDocflow 49/ 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
  • 50. 4. ReceiverUI memanggil method milik class GetEncryptedDoc(string) DocumentManager, untuk mengambil byte array dari dokumen yang terenkripsi. 5. ReceiverUI memanggil method milik class GetSignedDoc(string) DocumentManager, untuk mengambil byte array dari dokumen yang telah ditandatangani. 6. ReceiverUI memanggil method GetSenderPublicKey(string) milik class KeyManager, untuk mengambil kunci publik sender yang ada di dalam database. 7. ReceiverUI memanggil method verifyHash(byte[],byte[],string) milik class ReceiverManager yang akan mengembalikan nilai true jika dokumen yang ditandatangani tersebut identik dengan perhitungan hash dengan algoritma MD5, sedangkan sebaliknya akan mengembalikan nilai false. 2.3.8 Use Case : Decrypt aNewDoc : Document : DocumentUI : User : Recei verUI : ReceiverManager : DocumentManager 1. display UI 2. input private key 3. new 3.1. aNewDoc 3.2. GetPath_StatusForIDSign(int) 4. GetFileContent(String) 5. Decrypt(string, stri ng, stri ng) 6.UpdateAprrovedDate(int,string) 7. pathXMLDoc 7.1. ReadXMLDoc(string) Gambar 2.32 Design Sequence Diagram Use Case Decrypt Program Studi Teknik Informatika DPPL-AcaDocflow 50/ 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
  • 51. Flow of events : 1. User (Dosen Pembimbing/Bagian Prodi/Tata Usaha) menampilkan antarmuka untuk melakukan dekripsi, yaitu boundary class ReceiverUI. 2. User (Dosen Pembimbing/Bagian Prodi/Tata Usaha) memasukkan kunci privatnya untuk keperluan dekripsi. 3. ReceiverUI membentuk objek aNewDoc, yang merupakan instance baru class Kemudian memanggil method GetPath_StatusForIDSign(int) Document. milik class DocumentManager, untuk mengambil pathEncrypted dari dokumen yang dipilih. 4. ReceiverUI memanggil method milik class GetFileContent(string) DocumentManager, untuk mengembalikan isi daripada file private key yang diinputkan receiver. 5. ReceiverUI memanggil method Decrypt(string,string,string) milik class ReceiverManager untuk melakukan dekripsi terhadap dokumen terenkripsi tersebut dengan menggunakan kunci privat dan kemudian menyimpan dalam pathSigned. 6. ReceiverUI memanggil method UpdateApprovedDate(Document) milik class DocumentManager untuk meng-update tanggal approved dalam database sesuai dokumen yang dipilih. 7. DocumentUI memanggil method milik class ReadXMLDoc(string) DocumentManager untuk membaca isi dari dokumen XML yang telah didekripsi dan menampilkan kepada user. Program Studi Teknik Informatika DPPL-AcaDocflow 51/ 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
  • 52. 2.3.9 Use Case : Pelaporan Jadwal Ujian : JadwalUI : User : DocumentManager 1. display UI 2. pi lih prodi , j eni s j adwal uj ian dan tanggal uj ian 3. GetDataReportJadwal(string,i nt,stri ng,string,stri ng) 3.1. GetIDSign(i nt,stri ng,string,stri ng) 3.2. GetNum bersofIDSi gn(i nt,string,string,string) Gambar 2.33 Design Sequence Diagram Use Case Pelaporan Jadwal Ujian Flow of events : 1. User (Tata Usaha) menampilkan antarmuka untuk menampilkan ataupun mencetak jadwal ujian sesuai pilihannya yaitu boundary class JadwalUI. 2. User (Tata Usaha) memilih prodi (Teknik Infromatika atau Teknik Industri), jenis jadwal ujian (Pendadaran atau Kerja Praktek) dan tanggal ujian (tanggal awal ujian). 3. ReceiverUI memanggil method GetDataReportJadwal(string,int,string, string,string) milik class DocumentManager yang didalamnya juga dipanggil method GetIDSign(int,string,string,string) dan GetNumbersofIDSign( untuk mengambil data jadwal ujian sesuai int,string,string,string) dengan pilihan yang telah dipilihnya. Program Studi Teknik Informatika DPPL-AcaDocflow 52/ 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
  • 53. 3 Deskripsi Perancangan Persistent Data 3.1 Database Gambar 3.1 Entity Relationship Diagram AcaDocflow Program Studi Teknik Informatika DPPL-AcaDocflow 53/ 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
  • 54. Gambar 3.2 Physical Data Model 3.1.1 Tabel Pengguna Tabel ini merepresentasikan entitas Pengguna. Tabel 3.1 Tabel Pengguna Field Tipe Data NULL Deskripsi user_name varchar(20) No Username untuk pengguna AcaDocflow, merupakan rangkaian Program Studi Teknik Informatika DPPL-AcaDocflow 54/ 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
  • 55. karakter sepanjang 5-20 karakter. Primary Key. password varchar(20) No Password untuk pengguna AcaDocflow, merupakan rangkaian karakter sepanjang 5-20 karakter. Email varchar(50) No Nama email pengguna. Status varchar(10) No Status untuk pengguna, apakah dosen, mahasiswa atau karyawan. 3.1.2 Tabel Dosen Tabel ini merepresentasikan entitas Dosen. Tabel 3.2 Tabel Dosen Field Tipe Data NULL Deskripsi Kode_Dosen varchar(5) No Kode dosen, merupakan inisial dari nama dosen. Primary Key. user_name varchar(20) No Username untuk pengguna Aca Docflow, merupakan rangkaian karakter sepanjang 5-20 karakter. Foreign Key. Nama_Dosen varchar(50) No Nama dosen, dapat dituliskan secara lengkap beserta dengan gelarnya. Jurusan varchar(2) No Status jurusan dari dosen yang terdiri dari jurusan ‘TF’ dan ‘TI’. IsFromProdi Bit No Menyatakan status dosen, apakah berasal dari bagian Prodi atau tidak. Jika Kaprodi atau sekretaris prodi maka bernilai 1 dan bernilai 0 jika sebaliknya. Kode_Konsentrasi varchar(10) No Konsentrasi yang dimiliki dosen bersangkutan. Program Studi Teknik Informatika DPPL-AcaDocflow 55/ 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
  • 56. 3.1.3 Tabel Mahasiswa Tabel ini merepresentasikan entitas Mahasiswa. Tabel 3.3 Tabel Mahasiswa Field Tipe Data NULL Deskripsi No_Mhs varchar(9) No Nomor induk mahasiswa, yang bersifat unik untuk masing-masing mahasiswa. Primary Key. user_name varchar(20) No Username untuk pengguna Aca Docflow, merupakan rangkaian karakter sepanjang 5-20 karakter. Foreign Key. Nama_Mhs varchar(50) No Nama mahasiswa bersangkutan. 3.1.4 Tabel Karyawan Tabel ini merepresentasikan entitas Karyawan. Tabel 3.4 Tabel Karyawan Field Tipe Data NULL Deskripsi Kode_Karyawan varchar(5) No Kode karyawan, merupakan inisial dari nama karyawan. Primary Key. user_name varchar(20) No Username untuk pengguna Aca Docflow, merupakan rangkaian karakter sepanjang 5-20 karakter. Foreign Key. Nama_Karyawan varchar(50) No Nama karyawan bersangkutan. 3.1.5 Tabel TPublicKey Tabel ini merepresentasikan entitas TPublicKey. Tabel 3.5 Tabel TPublicKey Field Tipe Data NULL Deskripsi Id_PublicKey Integer No Id public key. Primary Key. PublicKey varchar(250) No Public key yang merupakan hasil Program Studi Teknik Informatika DPPL-AcaDocflow 56/ 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
  • 57. dari generate key dari pengguna bersangkutan. user_name varchar(20) No Username untuk pengguna Aca Docflow, merupakan rangkaian karakter sepanjang 5-20 karakter. Foreign Key. 3.1.6 Tabel Dokumen Tabel ini merepresentasikan entitas Dokumen. Tabel 3.6 Tabel Dokumen Field Tipe Data NULL Deskripsi Id_Dokumen tinyint No Nomor dokumen. Primary Key. Jenis_Dokumen varchar(50) No Nama jenis dokumen yang terdiri dari jenis pendaftaran ujian kerja praktek dan pendaftaran ujian pendadaran. 3.1.7 Tabel Mengelola Tabel ini merepresentasikan entitas Mengelola. Tabel 3.7 Tabel Mengelola Field Tipe Data NULL Deskripsi Id_Sign integer No Id Sign. Primary key. Id_Dokumen tinyint No Nomor dokumen. Foreign Key. user_name varchar(20) No Username untuk pengguna Aca Docflow, merupakan rangkaian karakter sepanjang 5-20 karakter. Foreign Key. To varchar(50) No Tujuan pengiriman atau penerima. Tgl_Kirim datetime No Tanggal dokumen dikirim. Tgl_Approved datetime Yes Tanggal dokumen disetujui. Status tinyint No Status aliran dari dokumen. Program Studi Teknik Informatika DPPL-AcaDocflow 57/ 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
  • 58. pathEnkripsi varchar(200) No Path dokumen terenkripsi yang ada di server. pathSignature varchar(200) No Path dokumen tertandatangani yang ada di server. owner varchar(9) No Pemilik dokumen yang berisi nomor mahasiswa. Foreign Key dari tabel Mahasiswa (No_Mhs). 3.1.8 Tabel Jadwal Tabel ini merepresentasikan entitas jadwal. Tabel 3.8 Tabel Jadwal Field Tipe Data NULL Deskripsi Id_Jadwal tinyint No Id Jadwal. Primary Key. Hari varchar(6) No Hari yang digunakan untuk kegiatan kuliah maupun praktikum. Hari yang dapat digunakan adalah hari Senin, Selasa, Rabu, Kamis dan Jumat. Sesi tinyint No Sesi yang digunakan untuk kegiatan kuliah maupun praktikum. Sesi yang dapat digunakan adalah sesi ke-1 sampai sesi ke-5. 3.1.9 Tabel JadwalMengajar Tabel ini merepresentasikan jadwal mengajar dosen selama satu semester. Tabel 3.9 Tabel JadwalMengajar Field Tipe Data NULL Deskripsi Id_jadwal Tinyint No Id Jadwal. Foreign Key sekaligus menjadi Primary Key. kode_dosen varchar(5) No Kode dosen, merupakan inisial dari nama dosen. Foreign Key sekaligus menjadi Primary Key. Program Studi Teknik Informatika DPPL-AcaDocflow 58/ 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
  • 59. Nama_Ruang varchar(50) No Nama ruang yang digunakan oleh dosen bersangkutan. 3.1.10 Tabel JadwalUjian Tabel ini merepresentasikan jadwal menguji dosen. Tabel 3.10 Tabel JadwalUjian Field Tipe Data NULL Deskripsi Tanggal datetime No Tanggal menguji pendadaran maupun ujian kerja praktek. Primary Key. Id_jadwal tinyint No Id Jadwal. Foreign Key sekaligus menjadi Primary Key. kode_dosen varchar(5) No Kode dosen, merupakan inisial dari nama dosen. Foreign Key sekaligus menjadi Primary Key. Nama_Ruang vachar(50) Yes Nama ruang yang digunakan untuk ujian pendadaran atau ujian kerja praktek. 3.1.11 Tabel Ruang Tabel ini merepresentasikan entitas Ruang. Tabel 3.11 Tabel Ruang Field Tipe Data NULL Deskripsi Nama_Ruang varchar(50) No Nama ruang yang digunakan untuk kegiatan kuliah, praktikum maupun ujian. Primary Key. Tipe tinyint No Tipe ruang apakah kelas (0), laboratorium (1), ruang khusus ujian (2). Program_Studi varchar(20) Yes Program studi yang memiliki ruang bersangkutan, yaitu Teknik Informatika dan Teknik Industri. Program Studi Teknik Informatika DPPL-AcaDocflow 59/ 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
  • 60. Sedangkan NULL untuk tipe ruang khusus ujian. 3.1.12 Tabel Konsentrasi Tabel ini merepresentasikan entitas Konsentrasi. Tabel 3.12 Tabel Konsentrasi Field Tipe Data NULL Deskripsi Kode_Konsentrasi varchar(10) No Kode Konsentrasi. Primary Key Nama_Konsentrasi varchar(50) No Nama Kosentrasi Program_Studi varchar(20) No Program studi yang memiliki konsentrasi bersangkutan, yaitu Teknik Informatika dan Teknik Industri. 3.2 File Dokumen XML File ini digunakan untuk menyimpan detail properti dokumen pendaftaran ujian kerja praktek dan dokumen pendaftaran ujian pendadaran. Detail dokumen ini adalah input sender yang dimasukkan lewat use case Pengelolaan Dockumen (SKPL-AcaDocflow.UC-03). File dokumen ini merupakan file XML yang mengikuti ketentuan file XML standard. File dokumen ini mengikuti DTD (Document Type Definition) berikut : Tabel 3.13 DTD untuk file dokumen pendaftaran ujian pendadaran (.xml) <? xml version = “1.0” ?> <!— Copyright © Edi Yanto --> <!— Root node --> <!— Author : sesuai username AcaDocflow DateTime : tanggal dan waktu pembuatan dokumen --> <!ELEMENT Pendadaran (NamaMhs, NoMhs, TTLahir+, Alamat+, MataKuliahPilihan+, DosenPembimbing+, UjianKe, JadwalUjian+, Program Studi Teknik Informatika DPPL-AcaDocflow 60/ 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
  • 61. JudulSkripsi, FilePath)> <!ELEMENT NamaMhs (#PCDATA)> <!ELEMENT NoMhs (#PCDATA)> <!ELEMENT TTLahir (Tempat, TglLahir)> <!ELEMENT Tempat (#PCDATA)> <!ELEMENT TglLahir (#PCDATA)> <!ELEMENT Alamat (Asal, Yogya)> <!ELEMENT Asal (#PCDATA)> <!ELEMENT Yogya (#PCDATA)> <!ELEMENT Konsentrasi (#PCDATA)> <!ELEMENT MataKuliahPilihan (MKP1, MKP2, MKP3, MKP4, MKP5, MKP6)> <!ELEMENT MKP1 (#PCDATA)> <!ELEMENT MKP2 (#PCDATA)> <!ELEMENT MKP3 (#PCDATA)> <!ELEMENT MKP4 (#PCDATA)> <!ELEMENT MKP5 (#PCDATA)> <!ELEMENT MKP6 (#PCDATA)> <!ELEMENT DosenPembimbing (DP1,DP2)> <!ELEMENT DP1 (#PCDATA)> <!ELEMENT DP2 (#PCDATA)> <!ELEMENT UjianKe (#PCDATA)> <!ELEMENT JadwalUjian(Hari, Tanggal, Pukul, DosenPenguji+, Tempat, Faslitas)> <!ELEMENT HariTanggal (#PCDATA)> <!ELEMENT Pukul (#PCDATA)> <!ELEMENT DosenPenguji (Ketua, Sekretaris, Anggota1, Anggota2)> <!ELEMENT Ketua (#PCDATA)> <!ELEMENT Sekretaris (#PCDATA)> <!ELEMENT Anggota1 (#PCDATA)> <!ELEMENT Anggota2 (#PCDATA)> <!ELEMENT Tempat (#PCDATA)> <!ELEMENT Fasilitas (#PCDATA)> Program Studi Teknik Informatika DPPL-AcaDocflow 61/ 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
  • 62. <!ELEMENT JudulSkripsi (#PCDATA)> Tabel 3.14 DTD untuk file dokumen pendaftaran ujian kerja praktek (.xml) <? xml version = “1.0” ?> <!— Copyright © Edi Yanto --> <!— Root node --> <!— Author : sesuai username AcaDocflow DateTime : tanggal dan waktu pembuatan dokumen --> <!ELEMENT KP (NamaMhs, NoMhs, TTLahir+, Alamat+, DosenPembimbing, JadwalUjian+, JudulLaporan, TempatKP, FilePath)> <!ELEMENT NamaMhs (#PCDATA)> <!ELEMENT NoMhs (#PCDATA)> <!ELEMENT TTLahir (Tempat, TglLahir)> <!ELEMENT Tempat (#PCDATA)> <!ELEMENT TglLahir (#PCDATA)> <!ELEMENT Alamat (Asal, Yogya)> <!ELEMENT Asal (#PCDATA)> <!ELEMENT Yogya (#PCDATA)> <!ELEMENT DosenPembimbing (#PCDATA)> <!ELEMENT JadwalUjian(Hari, Tanggal, Pukul, Tempat, Faslitas)> <!ELEMENT HariTanggal (#PCDATA)> <!ELEMENT Pukul (#PCDATA)> <!ELEMENT Tempat (#PCDATA)> <!ELEMENT Fasilitas (#PCDATA)> <!ELEMENT JudulLaporan (#PCDATA)> 3.3 File Private Key File ini berisi kunci privat hasil pembangkitan kunci oleh user yang bersangkutan (SKPL-AcaDocflow.UC-02). Program Studi Teknik Informatika DPPL-AcaDocflow 62/ 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
  • 63. 4 Deskripsi Perancangan Antarmuka 4.1 Use Case : Login Gambar 4.1 Rancangan Halaman Login Deskripsi Halaman ini digunakan untuk melakukan login bagi user. Hak akses terhadap operasi yang dapat dilakukan tergantung dari login user. Rancangan antarmuka ini diimplementasikan pada class ey.AcaDocflow.data.user.LoginUI. Textbox pertama digunakan untuk menerima inputan username. Textbox kedua digunakan untuk menerima inputan password. Hyperlink Register digunakan bagi user yang belum melakukan registrasi user. Tombol Login digunakan untuk masuk ke dalam sistem. Event Login Urutan aksi yang terjadi : 1. User memasukkan username dan password pada textbox pertama dan kedua. 2. User menekan tombol Login. Program Studi Teknik Informatika DPPL-AcaDocflow 63/ 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
  • 64. 3. Sistem memeriksa di database, apakah ada baris pada database dengan nama yang sama dengan username dari langkah 1. Statement SQL yang digunakan untuk mengambil data dari database adalah: SELECT * FROM pengguna WHERE user_name = [param1] Dengan [param1] adalah username yang diperoleh dari langkah 1 pada textbox pertama. Jika query tidak kosong (user_name ditemukan), teruskan ke langkah 4. jika query kosong (user_name tidak ditemukan), sistem menampilkan pesan error. 4. Sistem membandingkan password dari query yang diperoleh pada langkah 3 dengan password input user dari langkah 1 pada textbox kedua. Jika password sesuai, user masuk ke sistem. Jika password tidak sesuai, sistem menampilkan pesan error. Register Urutan aksi yang terjadi : 1. User mengklik hyperlink Register. 2. Sistem menampilkan halaman untuk registrasi user. 4.2 Use Case : Generate Key Gambar 4.2 Rancangan Halaman Registrasi Pengguna Program Studi Teknik Informatika DPPL-AcaDocflow 64/ 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
  • 65. Deskripsi Halaman ini digunakan untuk melakukan register bagi penguna (meliputi pembangkitan sepasang kunci) yang ingin melakukan pengiriman dan penerimaan dokumen pada web. Rancangan antarmuka ini diimplementasikan pada class ey.AcaDocflow.data.key.GenerateKeyUI. Textbox pertama digunakan untuk menerima masukkan username. Textbox kedua digunakan untuk menerima masukkan password. Textbox ketiga digunakan untuk menerima masukkan kembali password. Textbox keempat digunakan untuk menerima masukkan email user. Dropdownlist pertama digunakan untuk memilih status user, apakah user sebagai dosen, mahasiswa atau karyawan. Textbox kelima digunakan untuk menerima masukkan kode/nomor status user (misal kode_dosen untuk status dosen), nomor_mahasiswa untuk status mahasiswa, atau kode_karyawan untuk status karyawan). Tombol Register digunakan untuk melakukan register untuk username yang diiinputkan dan sekaligus membangkitkan kunci publik dan kunci privat user tersebut. Event Register (Melakukan Register) Urutan aksi yang terjadi : 1. User memasukkan username untuk melakukan login pada textbox pertama. 2. User memasukkan password untuk melakukan login pada textbox kedua. 3. User memasukkan kembali password pada textbox ketiga. 4. User memasukkan alamat email pada textbox keempat. 5. User memilih status pada drowdownlist pertama. 6. User memasukkan kode/nomor sesuai status yang dipilih pada textbox kelima. 7. User menekan tombol Register. Program Studi Teknik Informatika DPPL-AcaDocflow 65/ 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
  • 66. 8. Sistem melakukan pengecekan untuk kode/nomor yang diinputkan (misal status yang dipilih adalah mahasiswa). SELECT * FROM mahasiswa WHERE no_mhs = [param1] Dengan [param1] adalah nomor mahasiswa yang diinputkan pada textbox kelima. Jika query tidak kosong (data ditemukan), teruskan ke langkah 9, sedangkan jika query kosong (data tidak ditemukan), sistem menampilkan pesan bahwa nomor mahasiswa yang diinputkan tidak valid dan meminta untuk memasukkan ulang nomor mahasiswanya. 9. Sistem menambahkan pengguna baru ke database dengan statement SQL sebagai berikut: INSERT INTO Pengguna (user_name, password, email, status) VALUES ([param1], [param2], [param3], [param4]) Dengan [param1], [param2], [param3] dan [param4] adalah username, password, email dan status yang diperoleh dari langkah 1,2,4 dan 5. Setelah itu akan di-update tabel Mahasiswa dengan mengubah user_name jadi username yang diperoleh dari langkah 1 dimana no_mhs-nya sesuai dengan no_mhs yang diinputkan pada langkah 6 dengan statement SQL sebagai berikut: UPDATE Mahasiswa SET user_name = [param1] WHERE no_mhs = [param2] Dengan [param1] dan [param2] adalah username dan no_mhs, yang diperoleh dari langkah 1 dan 6. 10. Sistem membangkitkan kunci publik dan kunci privat yang akan digunakan dalam pengelolaan dokumen. 11. Sistem menambahkan kunci publik ke dalam database pada user yang bersangkutan dengan statement SQL sebagai berikut: INSERT INTO TPublicKey (user_name, idPublicKey, PublicKey) VALUES ([param1], [param2], [param3]) Dengan [param1], [param2] dan [param3] adalah username (diperoleh dari langkah 1), idPublickey yang unik dan public key hasil dari pembangkitan kunci langkah 10. Program Studi Teknik Informatika DPPL-AcaDocflow 66/ 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
  • 67. 12. Sistem akan menampilkan download dialog box untuk meminta user menyimpan file PrivateKey yang telah di-generate ke dalam media penyimpanan dengan aman. 13. User harus menekan tombol Save pada download dialog box tersebut untuk menyimpan kunci privatnya. 4.3 Use Case : Pengelolaan Dokumen Gambar 4.3 Rancangan Halaman Pendaftaran Ujian Kerja Praktek Program Studi Teknik Informatika DPPL-AcaDocflow 67/ 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
  • 68. Gambar 4.4 Rancangan Halaman Pendaftaran Ujian Pendadaran Deskripsi Halaman tersebut digunakan untuk melakukan pengisian blanko pendaftaran ujian kerja praktek dan blanko pendaftaran ujian pendadaran. Program Studi Teknik Informatika DPPL-AcaDocflow 68/ 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
  • 69. Rancangan antarmuka ini diimplementasikan pada class ey.AcaDocflow.documents.document.DocumentUI. Textbox dan dropdownlist yang ada pada kedua dokumen tersebut digunakan untuk menerima masukkan dari sender. Tombol sebelah kanan memiliki tiga nama yang akan berganti sesuai hak akses user yaitu tombol Setuju digunakan oleh dosen pembimbing I, II, pembimbing KP dan bagian program studi. Tombol Simpan digunakan oleh mahasiswa sedangkan tombol Finish digunakan oleh bagian Tata Usaha. Tombol tersebut digunakan untuk melakukan konversi terhadap apa yang diisikan oleh sender dan kemudian menyimpan hasil konversi dalam bentuk format XML dokumen ke dalam komputer server pada alamat/path tertentu. Tombol sebelah kiri yaitu tombol Tidak Setuju digunakan untuk menghapus dokumen tersebut dan mengirim email kepada mahasiswa bersangkutan untuk mengirim ulang dokumen pendaftaran ujian tersebut. Event Simpan/Setuju/Finish (Melakukan konversi ke dalam format XML dokumen dan menyimpannya) Urutan aksi yang terjadi : 1. Sistem akan mengaktifkan tempat pengisian sesuai dengan status dari aliran dokumen tersebut. 2. User memasukkan keperluannya pada tempat yang telah disediakan sesuai dengan status dari aliran dokumen tersebut. Dropdownlist dosen penguji akan diisikan kode dan nama dosen yang mempunyai waktu kosong pada tanggal, hari dan sesi yang telah dipilih oleh dosen pembimbing I dan akan ditampilkan menurut prioritas konsentrasi mahasiswa bersangkutan (hak akses ketua/sekretaris program studi). Dropdownlist Dosen pembimbing I dan II akan ditampilkan sesuai dengan program studi mahasiswa bersangkutan (hak akses mahasiswa). Program Studi Teknik Informatika DPPL-AcaDocflow 69/ 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
  • 70. Dropdownlist tempat ujian akan disikan nama ruang yang tidak dipakai pada tanggal, hari dan sesi ujian yang telah dipilih oleh dosen pembimbing I (hak akses karyawan tata usaha) 3. User menekan tombol Simpan/Setuju/Finish tergantung hak akses user. 4. Sistem melakukan validasi terhadap masukkan dari user termasuk validasi terhadap jadwal dosen pada saat memilih tanggal ujian. 5. Sistem melakukan penyimpan hasil konversi data-data yang telah diisi ke dalam format dokumen XML yang mengikuti DTD pada tabel 3.13 atau tabel 3.14 sesuai dokumen yang dipilih. 6. Sistem menuju ke Halaman Pengiriman Dokumen. Tidak Setuju Urutan aksi yang terjadi : 1. Sistem akan mengaktifkan tempat pengisian sesuai dengan status dari aliran dokumen tersebut. 2. User memasukkan keperluannya pada tempat yang telah disediakan sesuai dengan status dari aliran dokumen tersebut. 3. User menekan tombol Tidak Setuju tergantung hak akses user dan jenis dokumen pendaftaran ujian. 4. Sistem menghapus dokumen pendaftaran ujian tersebut di dalam basis data. 5. Sistem mengirimkan email kepada mahasiswa bersangkutan yang sebagai pemilik dokumen tersebut untuk mengirim ulang dokumen pendaftaran ujian tersebut. Program Studi Teknik Informatika DPPL-AcaDocflow 70/ 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
  • 71. Gambar 4.5 Rancangan Halaman Status Dokumen Deskripsi Halaman tersebut digunakan untuk melihat status dokumen yang dikirim oleh mahasiswa. Datagrid digunakan untuk menampilkan daftar dokumen yang dikirim oleh mahasiswa bersangkutan. Tombol View digunakan untuk melihat/mencetak dokumen yang dipilih user. Event View Urutan aksi yang terjadi : 1. User memilih dokumen yang akan dilihat isinya. 2. Sistem mengambil path/alamat dari dokumen XML tersebut. 3. Sistem menuju ke halaman tampil isi dokumen. Program Studi Teknik Informatika DPPL-AcaDocflow 71/ 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
  • 72. Gambar 4.6 Rancangan Halaman Tampil Isi Dokumen Deskripsi Halaman ini digunakan untuk melihat isi dokumen yang telah dikirim. Isi dokumen akan ditampilkan sesuai dengan status aliran dokumen. Rancangan antarmuka ini diimplementasikan pada class ey.AcaDocflow.documents.document.ReportUI. Event Page_Load Urutan aksi yang terjadi : 1. Sistem mengambil isi dokumen dari path/alamat dokumen XML sesuai jenis dokumennya dan menyimpannya kedalam dataset. 2. Sistem menampilkan isi dokumen tersebut sesuai dengan data yang telah diisikan ke dalam dataset dalam bentuk report. Print Urutan aksi yang terjadi : 1. User menekan tombol Print. 2. Sistem menampilkan isi dokumen tersebut kedalam format PDF, dimana dokumen tersebut bisa disimpan dalam format PDF ataupun dicetak. Program Studi Teknik Informatika DPPL-AcaDocflow 72/ 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
  • 73. Gambar 4.7 Rancangan Halaman Jadwal Deskripsi Halaman ini digunakan karyawan Tata Usaha untuk melihat/mencetak jadwal ujian selama seminggu sesuai dengan pilihan user. Rancangan antarmuka ini diimplementasikan pada class ey.AcaDocflow.documents.document.JadwalUI. Event Calendar_SelectionChanged Urutan aksi yang terjadi : 1. User memilih program studi dan jenis jadwal ujian. 2. User memilih tanggal ujian pada calendar. 3. Sistem mengambil id dokumen di basis data sesuai dengan pilihan user. 4. Sistem mengambil isi dokumen dari path/alamat dokumen XML sesuai id dokumen yang didapat dan menyimpannya kedalam dataset. Program Studi Teknik Informatika DPPL-AcaDocflow 73/ 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
  • 74. 5. Sistem menampilkan jadwal ujian tersebut sesuai dengan data yang telah diisikan ke dalam dataset dalam bentuk report. Print Urutan aksi yang terjadi : 1. User menekan tombol Print. 2. Sistem menampilkan isi dokumen tersebut kedalam format PDF, dimana dokumen tersebut bisa disimpan dalam format PDF ataupun dicetak. 4.4 Use Case : Encrypt dan Use Case : Create Digital Signature Gambar 4.8 Rancangan Halaman Pengiriman Dokumen Deskripsi Halaman ini digunakan untuk melakukan pengiriman dokumen sesuai aliran dokumen tertentu dan sebelum dikirim dokumen yang telah diisi sebelumnya akan dienkripsi dan ditandatangan digital terlebih dahulu. Rancangan antarmuka ini diimplementasikan pada class ey.AcaDocflow.sender.SenderUI. Textbox pertama berisi kode/nomor berserta nama lengkap dari user yang sedang login. Program Studi Teknik Informatika DPPL-AcaDocflow 74/ 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
  • 75. Dropdownlist pertama digunakan untuk memilih penerima dokumen yang akan dikirim tersebut dan akan dimunculkan sesuai dengan status workflow dokumen tertentu. Textbox ketiga digunakan untuk menerima masukkan berupa alamat/path dari kunci privat yang dipilih oleh pengirim. Tombol Browse digunakan untuk mencari dan mengambil path/alamat dari kunci privat sender itu berada. Tombol Send digunakan untuk melakukan pengiriman dokumen, dimana sebelumnya akan dilakukan operasi enkripsi dan tanda tangan digital. Event Send (Melakukan enkripsi dan tanda tangan digital beserta pengiriman) Urutan aksi yang terjadi : 1. Sistem menampilkan kode/nomor beserta nama lengkap user yang sedang login pada textbox pertama. 2. User memilih penerima (tujuan pengiriman) dokumen yang sesuai dengan status workflow dokumen pada dropdownlist pertama. 3. User memasukkan kunci privatnya dengan menekan tombol Browse untuk mencari keberadaan kunci privat tersebut dan akan ditampilkan alamat/path kunci privat tersebut pada textbox ketiga. 4. User menekan tombol Send. 5. Sistem melakukan enkripsi terhadap dokumen yang telah diisi sebelumnya dengan mengambil kunci publik penerima dari database dan dokumen yang telah dikonversi ke XML yang telah disimpan dalam komputer server terlebih dahulu. Statement SQL untuk mengambil kunci publik penerima adalah sebagai berikut (misal penerimanya adalah dosen): SELECT publickey FROM TPublicKey WHERE user_name = (SELECT user_name FROM Dosen WHERE kode_dosen = [param1] Dengan [param1] adalah kode dosen yang didapat dari langkah 2 hasil substring dari isi dropdownlist tersebut. Kemudian sistem Program Studi Teknik Informatika DPPL-AcaDocflow 75/ 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
  • 76. mengambil dokumen XML yang telah diketahui alamat file-nya. Setelah itu sistem akan melakukan enkripsi dengan file dokumen XML dan kunci publik penerima tersebut dan hasil enkripsi akan disimpan dalam komputer server pada alamat/path tertentu. 6. Sistem mengambil byte of array dari dokumen terenkripsi yang telah disimpan tersebut. Kemudian sistem melakukan perhitungan hash terhadap byte of array dokumen terenkripsi tersebut. Akhirnya sistem akan membuat tanda tangan digital pada hash tersebut dan akan disimpan juga dalam komputer server pada alamat/path tertentu. 7. Sistem akan menambahkan data pengiriman ke dalam database dengan statement SQL sebagai berikut: INSERT INTO Mengelola (user_name, To, id_dokumen Tgl_Kirim, pathEncrypt, pathSignature, status) VALUES ([param1], [param2], [param3], [param4], [param5], [param6], [param7]) Dengan [param1] adalah username yang melakukan login, [param2] adalah username dari pennerima yang didapatkan dari dropdownlist pertama, [param3] adalah id_dokumen dari jenis dokumen yang akan diisi oleh sender, [param4] adalah tanggal kirim dokumen, [param5] adalah path/alamat dokumen enkripsi, adalah path/alamat dokumen sign dan [param7] [param6] adalah status yang menyatakan dokumen telah sampai dimana. 8. Sistem akan mengirimkan email pemberitahuan tentang ada dokumen yang harus diverifikasi kepada receiver, dimana akan diambil alamat email receiver dan alamat email sender dari basis data. Program Studi Teknik Informatika DPPL-AcaDocflow 76/ 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
  • 77. 4.5 Use Case : Verify dan Use Case : Decrypt Gambar 4.9 Rancangan Halaman Penerimaan Dokumen Deskripsi Halaman ini digunakan untuk melakukan penerimaan dokumen sesuai aliran dokumen tertentu yang meliputi verifikasi terhadap dokumen tertandatangani dan dekripsi terhadap dokumen enkripsi serta melihat dokumen yang telah diverifikasi. Rancangan antarmuka ini diimplementasikan pada class ey.AcaDocflow.receiver.ReceiverUI. Datagrid pertama digunakan untuk menampilkan daftar dokumen yang belum diverifkasi sesuai dengan hak akses user. Datagrid kedua digunakan untuk menampilkan daftar dokumen yang telah diverifikasi sesuai dengan hak akses user. Tombol Verify digunakan untuk memverifikasi dokumen yang tertandatangani oleh sender. Program Studi Teknik Informatika DPPL-AcaDocflow 77/ 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
  • 78. Textbox pertama digunakan untuk menerima masukkan berupa alamat/path dari kunci privat yang dipilih oleh receiver Tombol Browse digunakan untuk mencari dan mengambil path/alamat dari kunci privat receiver itu berada. Tombol Decrypt digunakan untuk melakukan dekripsi terhadap dokumen enkripsi, jika verifikasinya valid. Event Verify (Melakukan verifikasi pada signed document) Urutan aksi yang terjadi : 1. User memilih dokumen yang akan diverifikasi. 2. Sistem mengambil byte of array dari dokumen terenkripsi dan byte of array dari dokumen tertandatangani (signed document). 3. Sistem mengambil kunci publik pengirim dari database dengan statement SQL sebagai berikut: SELECT publickey FROM TPublicKey WHERE user_name = [param1] Dengan [param1] adalah username yang sedang login. 4. Sistem melakukan perhitungan hash terhadap byte of array dokumen terenkripsi dari langkah 2. 5. Sistem melakukan verifyHash, jika mengembalikan true berarti dokumen tidak dimodifikasi sedangkan jika false sebaliknya. Decrypt (Melakukan dekripsi terhadap encrypted document) Urutan aksi yang terjadi : 1. User memasukkan kunci privatnya dengan menekan tombol Browse untuk mencari keberadaan kunci privat receiver tersebut dan akan ditampilkan alamat/path kunci privat tersebut pada textbox pertama. 2. Sistem mengambil byte of array dari dokumen terenkripsi yang telah dipilih sebelumnya untuk verifikasi. 3. Sistem melakukan dekripsi terhadap dokumen enkripsi tersebut dan menyimpan hasilnya di komputer server pada alamat/path tertentu. 4. Sistem menampilkan kembali hasil dekripsi tersebut ke dalam bentuk aslinya sesuai dengan jenis dokumennya. Program Studi Teknik Informatika DPPL-AcaDocflow 78/ 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
  • 79. View (Melihat/Mencetak dokumen yang telah didekripsi) Urutan aksi yang terjadi : 4. User memilih dokumen yang akan dilihat isinya. 5. Sistem mengambil path/alamat dari dokumen XML tersebut. 6. Sistem menuju ke halaman tampil isi dokumen. Cetak Jadwal Ujian (Hanya bisa diakses oleh karyawan Tata Usaha) Urutan aksi yang terjadi : 1. User mengklik tombol Cetak Jadwal Ujian. 2. Sistem menuju ke halaman jadwal. Program Studi Teknik Informatika DPPL-AcaDocflow 79/ 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

×