SlideShare a Scribd company logo
1 of 79
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
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow
DPPL AcaDocFlow

More Related Content

What's hot

Contoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolahContoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolah
DinilOctav
 
SKPL ASB Online V1.2
SKPL ASB Online V1.2SKPL ASB Online V1.2
SKPL ASB Online V1.2
Nendi Junaedi
 
Perancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajar
Perancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajarPerancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajar
Perancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajar
Muhammad Rizki Altino
 

What's hot (20)

Simulasi Sistem Antrian Kasir Supermarket - Final Project
Simulasi Sistem Antrian Kasir Supermarket - Final ProjectSimulasi Sistem Antrian Kasir Supermarket - Final Project
Simulasi Sistem Antrian Kasir Supermarket - Final Project
 
SKPL Bungkusin v2.0
SKPL Bungkusin v2.0SKPL Bungkusin v2.0
SKPL Bungkusin v2.0
 
Contoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolahContoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolah
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Srs aplikasi darurat bandung 2014
Srs aplikasi darurat bandung 2014Srs aplikasi darurat bandung 2014
Srs aplikasi darurat bandung 2014
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4
 
SKPL ASB Online V1.2
SKPL ASB Online V1.2SKPL ASB Online V1.2
SKPL ASB Online V1.2
 
Pengantar database
Pengantar databasePengantar database
Pengantar database
 
Tugas RPL SRS Erwan
Tugas RPL SRS ErwanTugas RPL SRS Erwan
Tugas RPL SRS Erwan
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Perancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajar
Perancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajarPerancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajar
Perancangan SI dengan Pendekatan Terstruktur - Rizki Altino, Khawarizmi Al fajar
 
SIstem Informasi Pemesanan Barang - Wulanda Anggoro
SIstem Informasi Pemesanan Barang - Wulanda AnggoroSIstem Informasi Pemesanan Barang - Wulanda Anggoro
SIstem Informasi Pemesanan Barang - Wulanda Anggoro
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Pertemuan 6 Rekayasa Perangkat Lunak
Pertemuan 6 Rekayasa Perangkat LunakPertemuan 6 Rekayasa Perangkat Lunak
Pertemuan 6 Rekayasa Perangkat Lunak
 
Spesifikasi kebutuhan perangkat lunak sistem akademik kartu hasil studi
Spesifikasi kebutuhan perangkat lunak sistem akademik kartu hasil studiSpesifikasi kebutuhan perangkat lunak sistem akademik kartu hasil studi
Spesifikasi kebutuhan perangkat lunak sistem akademik kartu hasil studi
 
SKPL Bungkusin v4.0
SKPL Bungkusin v4.0SKPL Bungkusin v4.0
SKPL Bungkusin v4.0
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Pertemuan 10
Pertemuan 10Pertemuan 10
Pertemuan 10
 

Similar to DPPL AcaDocFlow

SKPL AcaDocFlow
SKPL AcaDocFlowSKPL AcaDocFlow
SKPL AcaDocFlow
Edi Yanto
 
Menggambar teknik elektronika_berbantuan_komputer
Menggambar teknik elektronika_berbantuan_komputerMenggambar teknik elektronika_berbantuan_komputer
Menggambar teknik elektronika_berbantuan_komputer
Eko Supriyadi
 
Gambar elektro teknik
Gambar elektro teknikGambar elektro teknik
Gambar elektro teknik
opannurpakit1
 
Menggambar teknik elektronika_dan_layout_pada_pcb
Menggambar teknik elektronika_dan_layout_pada_pcbMenggambar teknik elektronika_dan_layout_pada_pcb
Menggambar teknik elektronika_dan_layout_pada_pcb
Eko Supriyadi
 
Menggambar layout pcb_berbantuan_komputer
Menggambar layout pcb_berbantuan_komputerMenggambar layout pcb_berbantuan_komputer
Menggambar layout pcb_berbantuan_komputer
Eko Supriyadi
 
Menggambar chasis elektronika_berbantuan_komputer
Menggambar chasis elektronika_berbantuan_komputerMenggambar chasis elektronika_berbantuan_komputer
Menggambar chasis elektronika_berbantuan_komputer
Eko Supriyadi
 
Modul pelatihan studi kelayakan pembangunan mikrohidro
Modul pelatihan studi kelayakan pembangunan mikrohidroModul pelatihan studi kelayakan pembangunan mikrohidro
Modul pelatihan studi kelayakan pembangunan mikrohidro
Dede Heryadi
 
Teknik pemadam kebakaran
Teknik pemadam kebakaranTeknik pemadam kebakaran
Teknik pemadam kebakaran
Eko Supriyadi
 
menginstalasi_sistem_operasi_jaringan__berbasis_gui
menginstalasi_sistem_operasi_jaringan__berbasis_guimenginstalasi_sistem_operasi_jaringan__berbasis_gui
menginstalasi_sistem_operasi_jaringan__berbasis_gui
Nurdin Al-Azies
 
Menginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_guiMenginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_gui
Pria Selera
 
13. menginstalasi sistem operasi_jaringan__berbasis_gui
13. menginstalasi sistem operasi_jaringan__berbasis_gui13. menginstalasi sistem operasi_jaringan__berbasis_gui
13. menginstalasi sistem operasi_jaringan__berbasis_gui
Eko Supriyadi
 
Menginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_guiMenginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_gui
zainulhasan12345
 
Modul_Praktikum_Algoritma_and_Pemrograma.pdf
Modul_Praktikum_Algoritma_and_Pemrograma.pdfModul_Praktikum_Algoritma_and_Pemrograma.pdf
Modul_Praktikum_Algoritma_and_Pemrograma.pdf
Valentino Selayan
 
Gl01 spec pl - bid me - 5112201905
Gl01 spec pl - bid me - 5112201905Gl01 spec pl - bid me - 5112201905
Gl01 spec pl - bid me - 5112201905
Budi Raharjo
 

Similar to DPPL AcaDocFlow (20)

SKPL AcaDocFlow
SKPL AcaDocFlowSKPL AcaDocFlow
SKPL AcaDocFlow
 
Panduan Penulisan-DPPL.pdf
Panduan Penulisan-DPPL.pdfPanduan Penulisan-DPPL.pdf
Panduan Penulisan-DPPL.pdf
 
Srs 1-skpl akkses
Srs 1-skpl akksesSrs 1-skpl akkses
Srs 1-skpl akkses
 
SKPL_Akkses.pdf
SKPL_Akkses.pdfSKPL_Akkses.pdf
SKPL_Akkses.pdf
 
Menggambar teknik elektronika_berbantuan_komputer
Menggambar teknik elektronika_berbantuan_komputerMenggambar teknik elektronika_berbantuan_komputer
Menggambar teknik elektronika_berbantuan_komputer
 
Gambar elektro teknik
Gambar elektro teknikGambar elektro teknik
Gambar elektro teknik
 
Menggambar teknik elektronika_dan_layout_pada_pcb
Menggambar teknik elektronika_dan_layout_pada_pcbMenggambar teknik elektronika_dan_layout_pada_pcb
Menggambar teknik elektronika_dan_layout_pada_pcb
 
Dasar rangkaian listrik
Dasar rangkaian listrikDasar rangkaian listrik
Dasar rangkaian listrik
 
RPL 1 (Lama) - Panduan Pengisian SKPL Berorientasi Proses
RPL 1 (Lama) - Panduan Pengisian SKPL Berorientasi ProsesRPL 1 (Lama) - Panduan Pengisian SKPL Berorientasi Proses
RPL 1 (Lama) - Panduan Pengisian SKPL Berorientasi Proses
 
Menggambar layout pcb_berbantuan_komputer
Menggambar layout pcb_berbantuan_komputerMenggambar layout pcb_berbantuan_komputer
Menggambar layout pcb_berbantuan_komputer
 
DESKRIPSI PERANCANGAN PERANGKAT LUNAK : SISTEM LISTRIK PINTAR (LINTAR)
DESKRIPSI PERANCANGAN PERANGKAT LUNAK : SISTEM LISTRIK PINTAR (LINTAR)DESKRIPSI PERANCANGAN PERANGKAT LUNAK : SISTEM LISTRIK PINTAR (LINTAR)
DESKRIPSI PERANCANGAN PERANGKAT LUNAK : SISTEM LISTRIK PINTAR (LINTAR)
 
Menggambar chasis elektronika_berbantuan_komputer
Menggambar chasis elektronika_berbantuan_komputerMenggambar chasis elektronika_berbantuan_komputer
Menggambar chasis elektronika_berbantuan_komputer
 
Modul pelatihan studi kelayakan pembangunan mikrohidro
Modul pelatihan studi kelayakan pembangunan mikrohidroModul pelatihan studi kelayakan pembangunan mikrohidro
Modul pelatihan studi kelayakan pembangunan mikrohidro
 
Teknik pemadam kebakaran
Teknik pemadam kebakaranTeknik pemadam kebakaran
Teknik pemadam kebakaran
 
menginstalasi_sistem_operasi_jaringan__berbasis_gui
menginstalasi_sistem_operasi_jaringan__berbasis_guimenginstalasi_sistem_operasi_jaringan__berbasis_gui
menginstalasi_sistem_operasi_jaringan__berbasis_gui
 
Menginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_guiMenginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_gui
 
13. menginstalasi sistem operasi_jaringan__berbasis_gui
13. menginstalasi sistem operasi_jaringan__berbasis_gui13. menginstalasi sistem operasi_jaringan__berbasis_gui
13. menginstalasi sistem operasi_jaringan__berbasis_gui
 
Menginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_guiMenginstalasi sistem operasi_jaringan__berbasis_gui
Menginstalasi sistem operasi_jaringan__berbasis_gui
 
Modul_Praktikum_Algoritma_and_Pemrograma.pdf
Modul_Praktikum_Algoritma_and_Pemrograma.pdfModul_Praktikum_Algoritma_and_Pemrograma.pdf
Modul_Praktikum_Algoritma_and_Pemrograma.pdf
 
Gl01 spec pl - bid me - 5112201905
Gl01 spec pl - bid me - 5112201905Gl01 spec pl - bid me - 5112201905
Gl01 spec pl - bid me - 5112201905
 

More from Edi Yanto

More from Edi Yanto (14)

Oracle BI Publsiher Using Data Template
Oracle BI Publsiher Using Data TemplateOracle BI Publsiher Using Data Template
Oracle BI Publsiher Using Data Template
 
4 minutes office_exercise
4 minutes office_exercise4 minutes office_exercise
4 minutes office_exercise
 
What is family
What is familyWhat is family
What is family
 
Kisah katak kecil
Kisah katak kecilKisah katak kecil
Kisah katak kecil
 
Eat Fresh Fruits
Eat Fresh FruitsEat Fresh Fruits
Eat Fresh Fruits
 
Dear son dear daughter
Dear son dear daughterDear son dear daughter
Dear son dear daughter
 
Oracle Framework Personalization
Oracle Framework PersonalizationOracle Framework Personalization
Oracle Framework Personalization
 
Nice Story
Nice StoryNice Story
Nice Story
 
How To Add Value In Lookups With Access Level System
How To Add Value In Lookups With Access Level SystemHow To Add Value In Lookups With Access Level System
How To Add Value In Lookups With Access Level System
 
COGS Account Generator Workflow Customization
COGS Account Generator Workflow CustomizationCOGS Account Generator Workflow Customization
COGS Account Generator Workflow Customization
 
Mudah .... Sulit
Mudah .... SulitMudah .... Sulit
Mudah .... Sulit
 
Implementasi AcaDocflow
Implementasi AcaDocflowImplementasi AcaDocflow
Implementasi AcaDocflow
 
Academic Document Workflow Berbasis XML
Academic Document Workflow Berbasis XMLAcademic Document Workflow Berbasis XML
Academic Document Workflow Berbasis XML
 
Oracle XML Publisher / BI Publisher
Oracle XML Publisher / BI PublisherOracle XML Publisher / BI Publisher
Oracle XML Publisher / BI Publisher
 

DPPL AcaDocFlow

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