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
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
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
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
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
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
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
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
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
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
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
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
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
+ 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
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
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
+ 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
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
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
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
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
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
- 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
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
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
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
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
+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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
0 comments
Post a comment