Dokumen ini membahas perancangan aplikasi manajemen aliran dokumen akademik berbasis XML untuk Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta. Aplikasi ini akan mengelola penyimpanan, pengiriman, dan pelaporan dokumen akademik seperti jadwal ujian dan pendaftaran mahasiswa dengan menggunakan enkripsi dan digital signature untuk keamanan dokumen. Dokumen ini menjelaskan desain arsitektur, class diagram, database
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