SKRIPSI
IMPLEMENTASI ALGORITMA ENKRIPSI BLOWFISH PADA SISTEM
REVISI ANGGARAN BERBASIS ONLINE
(STUDI KASUS : PERPUSTAKAAN NASIONAL REPUBLIK INDONESIA)
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains Dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Disusun Oleh :
MUHAMMAD AKIF
1113091000095
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH
JAKARTA
2019 M / 1441 H
HALAMAN JUDUL
IMPLEMENTASI ALGORITMA ENKRIPSI BLOWFISH PADA SISTEM
REVISI ANGGARAN BERBASIS ONLINE
(STUDI KASUS : PERPUSTAKAAN NASIONAL REPUBLIK
INDONESIA)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains Dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Disusun Oleh :
MUHAMMAD AKIF
1113091000095
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH
JAKARTA
2019 M / 1441 H
LEMBAR PERSETUJUAN
IMPLEMENTASI ALGORITMA ENKRIPSI BLOWFISH PADA SISTEM
REVISI ANGGARAN BERBASIS ONLINE
(STUDI KASUS : PERPUSTAKAAN NASIONAL REPUBLIK
INDONESIA)
Skripsi
Diajukan Sebagai Salah Satu Syarat Untuk
Memperoleh Gelar Sarjana Komputer (S.Kom)
Oleh:
Muhammad Akif
NIM. 1113091000095
Menyetujui,
Mengetahui,
Ketua Program Studi Teknik Informatika
Imam M.Shofi, M.T
NIP. 19720205 2008 01 1010
Pembimbing II,
Hendra Bayu Suseno,M.Kom
NIP. 19821211 2009 12 1003
NIP.
Pembimbing I,
Siti Ummi Masruroh, M.Sc
NIP. 19820823 2011 01 2013
PERNYATAAN ORISINALITAS
Dengan ini saya menyatakan bahwa:
1. Skripsi/tesis/disertasi ini merupakan hasil karya asli saya yang diajukan untuk
memenuhi salah satu persyaratan memperoleh gelar strata 1/strata 2/strata 3 di UIN
Syarif Hidayatullah Jakarta.
2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan
sesuai dengan ketentuan yang berlaku di UIN Syarif Hidayatullah Jakarta.
3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya atau
merupakan hasil jiplakan dari karya orang lain, maka saya bersedia menerima
sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.
Ciputat, 20 Oktober 2019
Muhammad Akif
LEMBAR PENGESAHAN
Skripsi yang berjudul “Implementasi Algoritma Enkripsi Blowfish Pada Sistem
Revisi Anggaran Berbasis Online (Studi Kasus : Perpustakaan Nasional
Republik Indonesia)” yang ditulis oleh Muhammad Akif dengan NIM
1113091000095 telah diuji dan dinyatakan lulus dalam sidang Munaqosah Fakultas
Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada
Senin, 11 November 2019. Skripsi ini telah diterima sebagai salah satu syarat
memperoleh gelar sarjana Sarjana Komputer (S.Kom) Program Studi Sistem
Informasi.
Menyetujui,
Mengetahui,
Penguji I
Fenty Eka Muzayyana Agustin, M.Kom
NIP: 19760805 200912 20 03
Penguji II
Arini, S.T, M.T
NIP. 19760131 200901 20 01
Pembimbing I
Siti Ummi Masruroh, M.Sc
NIP. 19820823 201101 20 13
Pembimbing II
Hendra Bayu Suseno,M.Kom
NIP. 19821211 200912 10 03
Dekan
Fakultas Sains dan Teknologi
Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud
NIP. 19720816 199903 1 003
Ketua
Program Studi Teknik Informatika
Imam M.Shofi, M.T
NIP. 19720205 200801 10 10
vi
Penulis : MUHAMMAD AKIF
Program Studi : Teknik Informatika
Judul : Implementasi Algoritma Enkripsi Blowfish Pada Sistem
Revisi Anggaran Berbasis Online (Studi Kasus :
Perpustakaan Nasional Republik Indonesia)
ABSTRAK
Revisi anggaran merupakan isu yang paling diprioritaskan di Perpustakaan
Nasional Republik Indonesia. Dalam pelaksanaannya, proses pengajuan, analisa
dan persetujuan masih manual sehingga membutuhkan waktu yang lama dan
rentan terhadap kebocoran data. Untuk meningkatkan efisiensi waktu dan
keamanan data, diperlukan sistem yang menunjang kedua hal tersebut. Algoritma
yang diimplementasikan yaitu Blowfish, metode pengembangan sistem yaitu
RAD dan perancangan sistem menggunakan pemodelan UML. Hasil dari
penelitian adalah sebuah sistem berbasis online untuk menyediakan sistem
kemanan dan mengefisiensikan waktu proses pengajuan revisi anggaran.
Penelitian selanjutnya dapat menggunakan tambahan algoritma lainnya untuk
dapat mencakup data yang lebih luas.
Kata kunci : Enkripsi Blowfish, Sistem Revisi Anggaran, MySql,
Rapid Application Development, Personal Home Page
Jumlah halaman : xix + 183 Halaman
Jumlah Pustaka : 20 sumber (2013-2018)
vii
KATA PENGANTAR
Bismillahirrahmanirrahim,
Assalamu’alaikum Wr. Wb.
Alhamdulilah segala puji syukur saya panjatkan kehadirat Allah SWT,
karena atas limpahan rahmat dan hidayah-Nya penulis dapat menyelesaikan Skripsi
yang berjudul “Implementasi Algoritma Enkripsi Blowfish Pada Sistem Revisi
Anggaran Berbasis Online (Studi Kasus : Perpustakaan Nasional Republik
Indonesia)”
Dalam penyusunan Skripsi ini penulis banyak mendapatkan saran,
dorongan,bimbingan serta keterangan – keterangan dari berbagai pihak yang
merupakan pengalaman yang tidak dapat diukur secara materi, namun dapat
menyadarkan penulis bahwa sesungguhnya pengalaman dan pengetahuan tersebut
adalah guru yang terbaik. Oleh karena itu, dengan segala hormat dan kerendahan
hati perkenankanlah saya mengucapkan terima kasih kepada :
1. Ibu Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud selaku Dekan
Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
2. Bapak Imam Marzuki Shofi, M.T selaku ketua Program Studi serta
Bapak Andrew Fiade, M.Kom selaku sekretaris Program Studi Teknik
Informatika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah
Jakarta.
viii
3. Ibu Siti Ummi Masruroh, M.Sc selaku dosen pembimbing skripsi I telah
memberikan ilmu dan bimbingannya sehingga Skripsi ini dapat
terselesaikan.
4. Bapak Hendra Bayu Suseno, M.Kom selaku dosen pembimbing skripsi
II yang telah memberikan ilmu dan bimbingannya sehingga Skripsi ini
dapat terselesaikan.
5. Dosen-dosen Program Studi Teknik Informatika yang telah
memberikan ilmu selama perkuliahan.
6. Seluruh Staff Perpustakaan Nasional Republik Indonesia, khususnya
Bapak Dr. Adin Bondar, M.Si terima kasih untuk bimbingan dan
motivasinya selama menjalani penelitian skripsi.
7. Kedua orang tua penulis, Ibu Hanik Arwanah dan Bapak Abdul Majid
Khon yang selalu memberikan semangat, kasih sayang yang melimpah
dan do’a yang tiada henti sehingga penulis dapat menyelesaikan skripsi
ini.
8. Saudaraku Muhammad Sadid Al Wafa, Muhammad Sadid Al Wafi,
Ahsanatin Mardiana dan Muhammad Nawal Asyraf yang selalu
memberikan semangat dan doa.
9. Lisa Galuh Pratiwi yang selalu memberikan motivasi dan semangat,
terima kasih untuk dukungan, doa dan kasih sayangnya.
10. Teknik Informatika Program Kerjasama CCIT angkatan 2013 dan
2014. Terima kasih untuk semua kebersamaan dan dukungannya yang
terjalin selama di dalam dan diluar kampus.
ix
11. Semua pihak yang tidak dapat disebutkan satu per satu tanpa
mengurangi rasa terima kasih sedikitpun dari penulis.
Penulis menyadari bahwa dalam penyusunan skripsi ini masih banyak
kekurangan yang disebabkan keterbatasan pengetahuan penulis. Untuk itu
kiranya, pembaca dapat memaklumi atas kekurangan dalam skripsi ini.
Akhir kata penulis berharap semoga skripsi ini dapat bermanfaat bagi
penulis khususnya dan bagi para pembaca pada umumnya.
Wassalammu’alaikum Wr. Wb.
Tangerang Selatan, Oktober 2019
Muhammad Akif
1113091000095
x
DAFTAR SIMBOL
SIMBOL USE CASE DIAGRAM
(Rosa & Shalahuddin, 2014)
Simbol Nama Deskripsi
Use Case
Fungsionalitas yang disedikan sistem
sebagai unit-unit yang saling bertukar
pesan antara unit atau aktor, biasanya
dinyatakan dengan menggunakan kata
kerja diawal frase nama Use Case.
Aktor/ actor
Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi
yang akan dibuat di luar sistem informasi
yang akan dibuat itu sendiri, jadi
walaupun simbol dari aktor adalah
gambar orang, tapi aktor belum tentu
merupakan orang, biasanya dinyatakan
menggunakan kata benda frase nama
aktor.
Association
Komunikasi antara aktor dan Use Case
yang berpartisipasi pada Use Case atau
Use Case memiliki interaksi dengan
aktor.
Extend Extend
Relasi use case tambahan kesebuah use
case dimana use case yang ditambahkan
dapat berdiri sendiri walau tanpa use case
tambahan itu.
Include Include
Relasi use case tambahan kesebuah use
case dimana use case yang ditambahkan
memerlukan use case ini untuk
menjalankan fungsinya atau sebagai
syarat dijalankan use case ini.
xi
SIMBOL CLASS DIAGRAM
(Rosa & Shalahuddin, 2014)
Simbol Nama Keterangan
Class Kelas pada struktur sistem
Association
Association, dapat diartikan
sebagai relasi. Digambarkan
sebagai garis lurus antara dua kelas.
Asosiasi biasanya juga disertai
dengan multiplicity
Generalitation
Generalization, relasi antar kelas
dengan makna generalisasi-
spesialisasi (umum khusus).
Cardinality
Cardinality atau multiplicity adalah
simbol yang menunjukkan jumlah
keterhubungan dari satu kelas
dengan kelas lainnya.
Dependency
Depedency, Relasi antar kelas
dengan makna kebergantungan
antar kelas.
xii
SIMBOL SEQUENCE DIAGRAM
(Sugiarti, 2013)
Simbol Nama Keterangan
Actor
Actor, mempresentasikan entitas
yang berada diluar sistem
Lifeline
Lifeline, menggambarkan
hubungan suatu elemen yang
berbeda.
Boundary
Boundary¸Biasanya berupa tepi
dari sistem, separti user interface
atau suatu alat yang berinteraksi
dengan sistem lainnya.
Entity
Entitity, biasanya elemen yang
bertanggung jawab menyimpan
data atau Informasi.
Message
Message, relasi ini digunakan
untuk memanggil operasi atau
metode yang dimiliki oleh suatu
objek.
Self Message
Self Message, relasi ini
menujukkan bahwa suatu objek
hendak memanggil dirinya sendiri.
Control
Control, Merupakan elemen yang
mengatur aliran dari Informasi
untuk sebuah scenario.
xiii
SIMBOL ACTIVITY DIAGRAM
(Rosa & Shalahuddin, 2014)
Simbol Nama Deskripsi
Status Awal
Status awal aktivitas sistem, sebuah
diagram aktivitas memiliki sebuah status
awal.
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas
biasanya diawali dengan kata kerja.
Decision
Asosiasi percabangan dimana jika ada
pilihan aktivitas lebih dari satu.
Join
Asosiasi penggabungan dimana lebih dari
satu aktivitas digabungkan menjadi satu.
Status Akhir
Status akhir yang dilakukan sistem,
sebuah diagram aktivitas memiliki
sebuah status akhir.
Wimlane
Memisahkan organisasi bisnis yang
bertanggung jawab terhadap aktivitas
yang terjadi.
xiv
DAFTAR ISI
ABSTRAK ............................................................................................................. vi
KATA PENGANTAR .......................................................................................... vii
DAFTAR SIMBOL..................................................................................................x
DAFTAR ISI ........................................................................................................ xiv
DAFTAR GAMBAR ......................................................................................... xviii
DAFTAR TABEL ................................................................................................ xxi
BAB I PENDAHULUAN .......................................................................................1
1.1 Latar Belakang...........................................................................................1
1.2 Identifikasi Masalah ..................................................................................6
1.3 Rumusan Masalah......................................................................................7
1.4 Batasan Masalah ........................................................................................7
1.5 Tujuan Penelitian .......................................................................................8
1.5.1 Tujuan Umum ....................................................................................8
1.5.2 Tujuan Khusus ...................................................................................8
1.6 Manfaat Penelitian .....................................................................................9
1.6.1 Bagi Penulis .......................................................................................9
1.6.2 Bagi Universitas .................................................................................9
1.6.3 Bagi Instansi yang bersangkutan ......................................................10
1.7 Metodologi Penelitian..............................................................................10
1.7.1 Metodologi Pengumpulan Data........................................................10
1.7.2 Metode Perancangan Sistem ............................................................11
1.8 Sistematika Penulisan ..............................................................................12
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI .............................14
xv
2.1 Tinjauan Pustaka......................................................................................14
2.1.1 A Comparison of Cryptographic Alghorithms: DES, 3DES, AES, RSA
and Blowfish for Guessing Attacks Prevention ..............................................14
2.1.2 Implementas Kriptografi Dengan Algoritma Blowfish dan Riverst
Shamir Adleman (RSA) Untuk Proteksi File .................................................14
2.1.3 Sistem Informasi Manajemen Anggaran (Simangga) Perguruan
Tinggi Berbasis Web (Studi Kasus: Universitas Siliwangi) ..........................15
2.2 Landasan Teori ........................................................................................15
2.2.1 Kriptografi ........................................................................................15
2.2.2 Algoritma Blowfish ..........................................................................17
2.2.3 Sistem Informasi Revisi Anggaran ..................................................20
2.2.4 PHP (Personal Home Page).............................................................21
2.2.5 Hierarchical Model View Controller (HMVC) ...............................23
2.2.6 Framework .......................................................................................25
2.2.7 Laravel..............................................................................................26
2.2.8 Unfied Modelling Language (UML) ................................................26
2.2.9 Rapid Application Development (RAD) ..........................................40
2.2.10 Systematic Literature Review ...........................................................46
BAB III METODOLOGI PENELITIAN...............................................................49
3.1 Metodologi Pengumpulan Data ...............................................................49
3.1.1 Metode Observasi.............................................................................49
3.1.2 Wawancara .......................................................................................50
3.1.3 Studi Literatur Sejenis ......................................................................51
3.2 Metode Pengembangan Sistem................................................................51
3.2.1 Fase Perencanaan Syarat-syarat .......................................................51
3.2.2 Fase Pelaksanaan atau Implementasi ...............................................54
xvi
3.3 Kerangka Penelitian.................................................................................54
BAB IV ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN
PENGUJIAN SISTEM...........................................................................................56
4.1 Fase Perencanaan Syarat .........................................................................56
4.1.1 Tahap Pengumpulan Data dan Informasi .........................................56
4.1.2 Analisis Sistem Berjalan ..................................................................61
4.1.3 Identifikasi Masalah .........................................................................64
4.1.4 Sistem Yang Diusulkan ....................................................................65
4.2 Fase Workshop Design ............................................................................67
4.2.1 Desain Proses Enkripsi Blowfish ......................................................67
4.2.2 Desain Proses Dekripsi Blowfish .....................................................68
4.2.3 Desain UML .....................................................................................68
4.2.4 Desain Database ..............................................................................90
4.3 Perancangan Graphic User Interface ....................................................103
4.4 Implementasi Algoritma Blowfish .........................................................116
BAB V HASIL DAN PEMBAHASAN ...............................................................128
5.1 Hasil Tampilan User Interface ..............................................................128
5.1.1 Desain Interface Login ........................................................................128
5.1.2 Desain Interface Dashboard ...............................................................129
5.1.3 Desain Interface Arsip Data Revisi (List Data Satuan Kerja) ............129
5.1.4 Desain Interface Arsip Data Revisi (List Pengajuan Revisi) ..............130
5.1.5 Desain Interface Detail .......................................................................131
5.1.7 Desain Interface Komentar .................................................................132
5.1.8 Desain Interface Proses Baru .............................................................132
5.1.9 Desain Interface Proses Merubah Anggaran ......................................133
xvii
5.1.10 Desain Interface Upload Data Dukung .............................................133
5.1.11 Desain Interface Tugas .....................................................................134
5.1.12 Desain Interface Proses .....................................................................136
5.1.13 Desain Interface Laporan ..................................................................136
5.2 Analisa Efisiensi Waktu ........................................................................137
5.2.1 Analisa Efisiensi Waktu Sebelum Menggunakan Sistem ..............137
5.2.2 Analisa Efisiensi Waktu Sesudah Menggunakan Sistem ...............138
5.2.3 Perbandingan Efisiensi Waktu Sebelum dan Sesudah Menggunakan
Sistem……………………………………………………………………...139
5.3 Pengujian (Testing) ................................................................................140
5.3.1 Unit Testing ....................................................................................141
5.3.2 System Testing ................................................................................143
5.3.3 Hasil Pengujian Enkripsi Dokumen ...............................................144
5.3.4 UAT (User Acceptance Testing).....................................................146
BAB VI PENUTUP .............................................................................................149
6.1 Kesimpulan ............................................................................................149
6.2 Saran ......................................................................................................150
DAFTAR PUSTAKA ..........................................................................................151
LAMPIRAN .........................................................................................................153
xviii
DAFTAR GAMBAR
Gambar 2. 1 Skema Enkripsi dan Dekripsi (Zuli dan Irawan, 2017 : 5) ..............17
Gambar 2. 2 Proses Enkripsi Blowfish (Muhathir, 2018 : 27) .............................19
Gambar 2. 3 Proses ekspansi dan filter (fungsi F) pada blowfish (Muhathir, 2018
: 27) ........................................................................................................................20
Gambar 2. 4 Use Cases (Rosa & Shalahuddin, 2015). .........................................28
Gambar 2. 5 Actors (Rosa & Shalahuddin, 2015) ................................................29
Gambar 2. 6 Associations (Rosa & Shalahuddin, 2015) ......................................30
Gambar 2. 7 Extends (Rosa & Shalahuddin, 2015) ..............................................30
Gambar 2. 8 Uses (Rosa & Shalahuddin, 2015) ...................................................31
Gambar 2. 9 Use Case Diagram (Rosa & Shalahuddin, 2015).............................32
Gambar 2. 10 Class Diagram (Rosa & Shalahuddin, 2015) .................................33
Gambar 2. 11 Attribute & Behaviuor (Rosa & Shalahuddin, 2015) ....................33
Gambar 2. 12 Arrow Head (Rosa & Shalahuddin, 2015) .....................................34
Gambar 2. 13 Solid Diamond (Rosa & Shalahuddin, 2015) ................................34
Gambar 2. 14 Sequence Diagram (Rosa & Shalahuddin, 2015) .........................35
Gambar 2. 15 Initial Node (Rosa & Shalahuddin, 2015) .....................................37
Gambar 2. 16 Actions (Rosa & Shalahuddin, 2015) ............................................37
Gambar 2. 17 Flow (Rosa & Shalahuddin, 2015) ................................................37
Gambar 2. 18 Desicion (Rosa & Shalahuddin, 2015) ..........................................38
Gambar 2. 19 Merge (Rosa & Shalahuddin, 2015) .............................................38
Gambar 2. 20 Fork (Rosa & Shalahuddin, 2015) ................................................39
Gambar 2. 21 Join (Rosa & Shalahuddin, 2015) .................................................39
Gambar 2. 22 Activity Final (Rosa & Shalahuddin, 2015) .................................39
Gambar 2. 23 Activity Diagram (Rosa & Shalahuddin, 2015)............................40
Gambar 3. 1 Rapid Application Development (Kenneth & Julie , 2017)……….51
xix
Gambar 4. 1 Struktur Organisasi Perpustakaan Nasional Republik Indonesia
(Perpusnas.go.id 2012) ...........................................................................................58
Gambar 4. 2 Logo PERPUSNAS (perpusnas.go.id, 2018)...................................61
Gambar 4. 3 Rich Picture Sistem Berjalan Pengajuan Revisi Anggaran .............62
Gambar 4. 4 Rich Picture Sistem Usulan .............................................................66
Gambar 4. 5 Proses Enkripsi Dokumen................................................................67
Gambar 4. 6 Proses Dekripsi Blowfish ................................................................68
Gambar 4. 7 Use Case Diagram ...........................................................................72
Gambar 4. 8 Activity Diagram Login ...................................................................80
Gambar 4. 9 Activity Diagram Data User ............................................................81
Gambar 4. 10 Activity Diagram Arsip Data Revisi..............................................82
Gambar 4. 11 Activity Diagram Proses Baru .......................................................84
Gambar 4. 12 Activity Diagram Tugas.................................................................85
Gambar 4. 13 Activity Diagram Laporan .............................................................86
Gambar 4. 14 Actvity Diagram Panduan..............................................................87
Gambar 4. 15 Activity Diagram Logout ...............................................................88
Gambar 4. 16 Class Diagram ................................................................................89
Gambar 4. 17 Sequence Diagram Login...............................................................97
Gambar 4. 18 Sequence Diagram Data User ........................................................97
Gambar 4. 19 Sequence Diagram Arsip Data Revisi ...........................................98
Gambar 4. 20 Sequence Diagram Proses Baru .....................................................99
Gambar 4. 21 Sequence Diagram Proses Baru ...................................................100
Gambar 4. 22 Sequence Diagram Laporan .........................................................101
Gambar 4. 23 Sequence Diagram Panduan ........................................................102
Gambar 4. 24 Sequence Diagram Logout...........................................................102
Gambar 4. 25 Halaman Login ............................................................................103
Gambar 4. 26 Halaman dashboard......................................................................104
Gambar 4. 27 Halaman proses baru 1.................................................................105
Gambar 4. 28 Halaman proses baru 2.................................................................105
Gambar 4. 29 Halaman proses baru 3.................................................................106
Gambar 4. 30 Halaman tugas .............................................................................107
xx
Gambar 4. 31 Halaman alur ................................................................................108
Gambar 4. 32 Halaman detail 1 ..........................................................................108
Gambar 4. 33 Halaman detail 2 ..........................................................................109
Gambar 4. 34 Halaman detail 3 ..........................................................................110
Gambar 4. 35 Halaman detail 4 ..........................................................................111
Gambar 4. 36 Halaman komentar .......................................................................111
Gambar 4. 37 Halaman menu form laporan .......................................................112
Gambar 4. 38 Halaman list data .........................................................................113
Gambar 4. 39 Halaman panduan ........................................................................114
Gambar 4. 40 Halaman proses 1 .........................................................................115
Gambar 4. 41 Halaman proses 2 .........................................................................116
Gambar 5. 1 Desain Interface Login…………………………………………..xxii
Gambar 5. 2 Interface Dashboard .......................................................................129
Gambar 5. 3 Interface Arsip Data Revisi............................................................130
Gambar 5. 4 Interface Arsip Data Revisi............................................................130
Gambar 5. 5 Interface Detail ..............................................................................131
Gambar 5. 6 Interface Alur .................................................................................131
Gambar 5. 7 Interface Komentar ........................................................................132
Gambar 5. 8 Interface Proses Baru .....................................................................133
Gambar 5. 9 Interface Proses Merubah Anggaran..............................................133
Gambar 5. 10 Interface Upload data dukung ......................................................134
Gambar 5. 11 Interface Tugas ............................................................................134
Gambar 5. 12 Tombol Action .............................................................................135
Gambar 5. 13 Interface Proses ............................................................................136
Gambar 5. 14 Interface Laporan .........................................................................136
Gambar 5. 15 Alur Proses Sistem .......................................................................138
Gambar 5. 16 Dokumen dibuka sebelum dienkripsi ..........................................144
Gambar 5. 17 Dokumen sebelum dienkripsi ......................................................145
Gambar 5. 18 Dokumen dibuka setelah dienkripsi.............................................145
Gambar 5. 19 Dokumen setelah dienkripsi.........................................................145
xxi
DAFTAR TABEL
Tabel 2. 1 Komparasi Metode Pengembangan Sistem (Pressman, 2015) .............44
Tabel 2. 2 Tabel Perbandngan hasil SLR ..............................................................47
Tabel 4. 1 Actor Use Case .....................................................................................69
Tabel 4. 2 Identifikasi Use Case ............................................................................70
Tabel 4. 3 Scenario Use Case Login .....................................................................73
Tabel 4. 4 Scenario Use Case Create Pengajuan Revisi Anggaran .......................73
Tabel 4. 5 Scenario Use Case Delete Pengajuan Revisi Anggaran .......................74
Tabel 4. 6 Scenario Use Case Delete Pengajuan Revisi Anggaran .......................74
Tabel 4. 7 Scenario Use Case View Pengajuan Revisi Anggaran .........................75
Tabel 4. 8 Scenario Use Case Create Log Pengajuan............................................75
Tabel 4. 9 Scenario Data User ...............................................................................76
Tabel 4. 10 Scenario Update Password .................................................................76
Tabel 4. 11 Scenario View Document Pengajuan .................................................76
Tabel 4. 12 Scenario Deskripsi Dokumen .............................................................77
Tabel 4. 13 Create Document Pengajuan ..............................................................77
Tabel 4. 14 Delete Document Pengajuan ..............................................................78
Tabel 4. 15 Create Comments Pengajuan..............................................................78
Tabel 4. 16 Scenario Laporan Pengajuan Revisi Anggaran ..................................79
Tabel 4. 17 Scenario Logout .................................................................................79
Tabel 4. 18 Tabel comments .................................................................................90
Tabel 4. 19 Tabel Documents ................................................................................91
Tabel 4. 20 Tabel documents_panduan .................................................................91
Tabel 4. 21 Tabel Logs ..........................................................................................92
Tabel 4. 22 Tabel revisi .........................................................................................92
Tabel 4. 23 Tabel revisi_documents ......................................................................94
Tabel 4. 24 Tabel revisi_header ............................................................................94
Tabel 4. 25 Tabel Satker ........................................................................................95
xxii
Tabel 4. 26 Tabel User ..........................................................................................95
Tabel 4. 27 Tabel role_users .................................................................................96
Tabel 4. 28 Inisialisasi P-Array ...........................................................................117
Tabel 4. 29 Inisialisasi S-Array ...........................................................................118
Tabel 4. 30 Plainteks ...........................................................................................119
Tabel 5. 1 Hasil Analisa Efisiensi Waktu sebelum menggunakan sistem……...137
Tabel 5. 2 Hasil Analisa Efisiensi Waktu Setelah Menggunakan Sistem ...........139
Tabel 5. 3 Perbandingan Efisiensi Waktu Sebelum dan Sesudah Menggunakan
Sistem ...................................................................................................................139
Tabel 5. 4 Hasil Pengujian Unit Testing .............................................................141
Tabel 5. 5 Hasil Pengujian System Testing .........................................................143
Tabel 5. 6 Tabel Pilihan Jawaban UAT...............................................................146
Tabel 5. 7 Tabel Pertanyaan UAT .......................................................................146
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Peningkatan produktifitas organisasi khususnya di pemerintahan yang
dibantu dengan berkembangnya teknologi komputer diharapkan dapat menunjang
proses pembuatan keputusan dan penyelesaian pekerjaan secara cepat, akurat,
efisien serta efektif. Teknologi informasi merupakan sebutan untuk penggunaan
teknologi apa pun yang dapat membantu pekerjaan manusia dalam hal membuat
sesuatu, mengubah, menyimpan, dan mengomunikasikan atau menyebarkan
informasi kepada pihak lainnya. (Tuhumury, 2017)
Berdasarkan instruksi Presiden Republik Indonesia Nomor 3 Tahun 2003
tentang Kebijakan dan Strategi Nasional Pengembangan EGovernments, pada
bagian poin (a) dijelaskan bahwa, “Kemajuan teknologi komunikasi dan informasi
yang pesat serta potensi pemanfaatannya secara luas, membuka peluang bagi
pengaksesan, pengelolaan dan pendayagunaan informasi dalam volume yang besar
secara cepat dan akurat”. Hal ini mengarahkan pemanfaatan teknologi komunikasi
dan informasi dalam proses pemerintahan (e-government) guna meningkatkan
efisiensi, efektifitas, transparansi dan akuntabilitas penyelenggaraan pemerintahan,
sehingga dapat mencapai pemerintahan yang baik (good governance) dan
meningkatkan layanan publik yang efektif dan efisien. (Kominfo.go.id, 2018)
Reformasi birokrasi khususnya pada bidang perencanaan mulai
diselenggarakan sebagai upaya terencana, terprogram, sistematik dan berkelanjutan
2
yang diharapkan dapat menjadi landasan dalam pengelolaan anggaran. Hal ini
sebagai langkah maju dalam menata sistem pengelolaan anggaran yang lebih baik
secara transparan, ekonomis, efisien, efektif dan akuntabel dengan memanfaatkan
perkembangan teknologi informasi dan komunikasi. (Harahap, 2016)
Perpustakaan Nasional sebagai Lembaga Pemerintah Non Kementerian
(LPNK) memiliki tugas dan fungsi menyelenggarakan pemerintahan bidang
perpustakaan. Berdasarkan Renstra 2014-2019 Perpustakaan Nasional mempunyai
visi “Terwujudnya Indonesia Cerdas melalui Gemar Membaca dengan
Memberdayakan Perpustakaan” dengan Indikator Kinerja Utama (IKU) adalah
meningkatnya indeks budaya baca masyarakat Indonesia menjadi nilai 50,00.
Dalam pencapaian target tersebut memerlukan dukungan tugas dan fungsi bidang
perencanaan yang efektif, efisen, akuntabel dan transparan sebagai bagian dari
program generik Perpustakaan Nasional. (Perpusnas.go.id, 2018)
Berdasarkan hasil wawancara dengan Pak Adin Bondar selaku Kepala Bagian
Perencanaan bahwa revisi anggaran mempunyai peran yang sangat penting dalam
menunjang keberhasilan pencapaian program dan anggaran secara maksimal.
Selain itu, berdasarkan temuan atau rekomendasi BPK (Badan Perencanaan
Keuangan) atas Laporan Keuangan Perpustakaan Nasional RI tahun 2018 yang
berhubungan dengan tata laksana perencanaan, antara lain: pengelolaan belanja
barang kurang tertib, terdapat belanja barang digunakan untuk belaja modal, belanja
barang fisik lainnya untuk diserahkan kepada instansi vertical kementrian atau
lembaga lain oleh perpustakaan nasional RI yang tidak sesuai dengan ketentuan.
Sistem perencanaan dan pengukuran kinerja Perpustakaan Nasional belum berjalan
3
optimal, serta sistem pengelolaan data capaian pembangunan Perpustakaan
Nasional yang belum terintegrasi dengan baik.
Analisis Urgency, Seriousness, Growth (USG) merupakan salah satu metode
skoring untuk menyusun urutan prioritas isu yang harus diselesaikan. Pada tahap
ini masing-masing masalah dinilai tingkat risiko dan dampaknya. Bila telah
didapatkan jumlah skor maka dapat menentukan prioritas masalah. Langkah
skoring dengan menggunakan metode USG yaitu dengan cara membuat daftar akar
masalah, membuat tabel matriks prioritas masalah dengan bobot skoring 1-5 dan
nilai yang tertinggi sebagai prioritas masalah. (Kotler dkk, 2015)
Dengan menggunakan analisis USG (Urgency, Seriousness, Growth)
berdasarkan parameter atau kriteria perlu dilakukannya diagnosa yang lebih dalam
untuk melakukan suatu perubahan sesuai dengan tugas dan kewenangan sebagai
Bagian Perencanaan Perpustakaan Nasional RI dengan mempertimbangkan aspek
waktu, biaya dan sumber daya manusia. Selain itu pula, sistem revisi anggaran yang
kurang baik akan berdampak luas terhadap kinerja Perpustakaan Nasional,
disamping itu revisi anggaran merupakan aktivitas yang terus menerus akan
dilakukan dalam kurun waktu anggaran pembangunan (APBN) setiap tahun
pelaksanaan program dan anggaran.
Tabel 1. 1 Hasil Analisis USG (Urgency, Seriousness, Growth)
No. Identifikasi Masalah Nilai
Total Prioritas U S G
1 Tata laksana pengelolaan perencanaan dan mekanisme revisi anggaran di lingkunagan PERPUSNAS
5 5 4 14 I
4
2 Sistem pengukuran kinerja PERPUSNAS 3 3 3 9 IV
3 Sistem pengelolaan data capaian pembangunan Perpustakaan Nasional
4 3 4 11 II
4 Sistem monitoring dan evaluasi program dan kegiatan
4 3 3 10 III
Berdasarkan hasil analisis USG (Urgency, Seriousness, Growth) pada tabel
1.1, dapat dilihat bahwa isu atau masalah “Tata laksana pengelolaan perencanaan
dan mekanisme revisi anggaran di lingkunagan PERPUSNAS” mendapatkan skor
tertinggi yaitu Urgency 5, Seriousness 5 dan Growth 4. Maka dapat disimpulkan
bahwa isu yang paling diprioritaskan adalah sistem perencanaan menyangkut pada
sistem revisi anggaran di lingkungan Perpustakaan Nasional RI.
Salah satu proses pada pegajuan revisi angaran yaitu adanya dokumen yang
digunakan sebagai data pendukung pada saat proses pengajuan. Dokumen yang
digunakan merupakan data yang sifatnya rahasia dan penting yang tidak
dikhususkan oleh sembarang orang, sehingga diperlukan teknologi yang mampu
mengurangi resiko penyalahgunaan data tersebut dan mengurangi resiko kebocoran
data. Adapun salah satu cara untuk mengamankan data berupa citra digital dengan
menggunakan teknik kriptografi, Kriptografi juga diperlukan dalam melindungi
dokumen dari orang yang tidak berhak untuk merubah isi dokumen, merubah
password atau pemanfaatan dokumen tersebut untuk keuntungan pribadi.
Kriptografi adalah salah satu teknik yang digunakan untuk meningkatkan aspek
keamanan suatu informasi. Kriptografi akan merahasiakan informasi dengan
menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya.
(Ibrahim & Irawan, 2017)
5
Saat ini banyak bermunculan algoritma kriptografi yang terus dianalisis,
dicoba dan disempurnakan untuk mencari algoritma yang dianggap memenuhi
standar keamanan. Beberapa algoritma kriptografi yang dikenal antara lain DES,
Rijndael, Blowfish, RC4, Vigenere Cipher, Enigma, IDEA dan lainnya (Irawan,
2017).
Menurut Marwan (2018), Algoritma Blowfish menjadi salah satu pilihan
yang sempurna dalam hal waktu dan memori sesuai dengan kriteria dan fitur yang
diperlukan, karena algoritma enkripsi blowfish memiliki waktu enkripsi tercepat
dan membutuhkan penyimpanan memori yang minimum yaitu 9.38 kb, Seperti
yang dapat dilihat pada gambar 1.1 dan tabel 1.2 dibawah.
Gambar 1. 1 Waktu Enkripsi dan File size untuk DES, 3DES, AES, Blowfish dan RSA
(Marwan, 2018)
6
Tabel 1. 2 Tabel Komparasi dari memory yang digunakan (Marwan, 2018)
Dari gambar 1.1 dan tabel 1.2 diatas, dapat dilihat bahwa algoritma blowfish
menggunakan memori atau penyimpanan yang paling sedikit dan memiliki waktu
proses yang tercepat. Sehingga dapat disimpulkan bahwa algoritma blowfish
merupakan algoritma yang paling cocok diterapkan pada sistem revisi anggaran,
mengingat banyaknya intensitas pengajuan revisi anggaran dan dibutuhkannya
waktu proses yang cepat.
Keadaan yang disebutkan sebelumnya telah mendorong peneliti untuk
melakukan implementasi algoritma enkripsi blowfish pada sistem revisi anggaran,
hal ini juga yang menjadikan latar belakang peneliti dalam melakukan penelitian
pada pembuatan skripsi yang berjudul “Implementasi Algoritma Enkripsi
Blowfish Pada Sistem Revisi Anggaran Berbasis Online (Studi Kasus:
Perpustakaan Nasional Republik Indonesia)”
1.2 Identifikasi Masalah
Berdasarkan latar belakang yang telah diuraikan di atas, dapat disimpulkan
bahwa identifikasi masalah antara lain :
1. Proses pengajuan, analisis dan klarifikasi admnistrasi anggaran masih
ditentukan berdasarkan pengecekan kelengkapan data manual paper
7
based dan juga masih menggunakan tools Microsoft Office 2010.
Sehingga memerlukan waktu pemrosesan 1-3 bulan.
2. Belum tersedianya sistem keamaan dalam melakukan revisi anggaran
khususnya pada lampiran data dukung pengajuan revisi anggaran di
lingkungan Perpustakan Nasional RI.
1.3 Rumusan Masalah
Berdasarkan identifikasi masalah yang telah diuraikan diatas maka rumusan
masalah yang menjadi pokok pembahasan penelitian ini adalah “Bagaimana
penerapan algoritma enkripsi blowfish pada sistem revisi anggaran berbasis online
dapat menyediakan sistem kemanan dan meningkatkan efisiensi waktu dalam
proses pengajuan revisi anggaran di Perpustakaan Nasional Republik Indonesia?”
1.4 Batasan Masalah
Untuk menghindari pembahasan menjadi terlalu luas, maka penulis perlu
membatasinya. Adapun batasan masalah sebagai berikut:
1. Penelitian dilakukan di Perpustakaan Nasional Republik Indonesia, yang
beralamatkan di jalan Medan Merdeka Selatan No.11 Jakarta Pusat DKI
Jakarta.
2. Penerapan algoritma enkripsi blowfish hanya dilakukan untuk sistem
revisi anggaran berbasis online yang digunakan di Bagian Perencanaan
Perpustakaan Nasional Republik Indonesia.
3. Aplikasi pada penelitian ini bertujuan untuk mengefisiensikan waktu
dalam pelaksanaan proses revisi anggaran.
8
4. Pengembangan sistem dilakukan menggunakan bahasa pemrograman
PHP (Personal Home Page) Versi 7.1.2, Web server yang digunakan
yaitu Apache dan database server menggunakan MySQL GUI 5.5.8 serta
coding tool menggunakan Framework Laravel 5.7.
5. Desain sistem dan perancangan menggunakan tools Unified Modelling
Language (Sugiarti, 2017), yaitu Use Case, Activity Diagram, Class
Diagram, dan Sequence Diagram.
1.5 Tujuan Penelitian
1.5.1 Tujuan Umum
Tujuan umum dari penelitian ini adalah menerapkan algoritma enkripsi
blowfish pada sistem revisi anggaran berbasis online untuk meningkatkan kinerja
staff Bagian Perencanaan di Perpustakaan Nasional Republik Indonesia.
1.5.2 Tujuan Khusus
Untuk tujuan khusus dari penulisan skripsi ini adalah :
1. Memudahkan proses pengajuan, analisis dan persetujuan pada revisi
anggaran dengan menggunakan sistem yang sudah terkomputerisasi
sehingga dapat meningkatkan efisiensi waktu dalam pelaksanaan revisi
anggaran di lingkungan Perpustakaan Nasional RI.
2. Menyediakan sistem keamanan dalam melakukan revisi anggaran
khususnya pada lampiran data dukung pengajuan revisi anggaran di
lingkungan Perpustakan Nasional RI.
9
1.6 Manfaat Penelitian
Adapun manfaat yang didapat dari penelitian ini adalah sebagai berikut:
1.6.1 Bagi Penulis
1. Menerapkan ilmu- ilmu yang sudah di dapat saat perkuliahan.
2. Membandingkan teori yang telah di dapat saat kuliah dengan masalah
yang sebenarnya.
3. Mengamati teknik-teknik yang diterapkan dalam bidang Sistem
Informasi.
4. Untuk memenuhi salah satu syarat kelulusan strata satu (S1), Program
Studi Teknik Informatika Fakultas Sains dan Teknologi UIN Syarief
Hidayatullah Jakarta.
1.6.2 Bagi Universitas
1. Mengetahui kemampuan mahasiswa dalam menguasai materi pelajaran
yang diperoleh dibangku kuliah.
2. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya
sebagai bahan evaluasi.
3. Mengetahui sejauh mana mahasiswa memahami pelajaran-pelajaran
yang telah diberikan oleh tim pengajar.
10
1.6.3 Bagi Instansi yang bersangkutan
1. Meningkatkan pelayanan revisi anggaran yang cepat dan berkualitas di
Perpustakaan Nasional Republik Indonesia.
2. Dapat menerapkan proses revisi anggaran yang hemat biaya
(paperless).
3. Peningkatan kinerja perencanaan yang efektif, efisien, transparan dan
akuntabel.
1.7 Metodologi Penelitian
1.7.1 Metodologi Pengumpulan Data
Metodologi yang akan digunakan dalam penelitian adalah sebagai berikut:
1. Observasi
Adalah metode atau cara-cara menganalisis dan mengadakan
pencatatan secara sistematis mengenai tingkah laku dengan melihat atau
mengamati tingkah laku individu dengan kelompok secara langsung
(Sugiarti, 2017). Pengumpulan data dan informasi dengan cara meninjau
data pengamatan secara langsung proses dan kegiatan operasional yang
berjalan pada Perpustakaan Nasional RI pada tanggal 1 November 2018
– 1 Januari 2019.
2. Wawancara
11
Adalah alat untuk melakukan pembuktian terhadap informasi
dengan cara melakukan tanya jawab secara langsung kepada narasumber
yang terkait (Sugiarti, 2017). Penulis melakukan wawancara langsung
dengan staff Bagian Perencanaan untuk mendapatkan informasi dan data
beserta keterangan-keterangan yang bisa dijadikan bahan dalam
penulisan skripsi ini.
3. Studi Pustaka
Studi yang dilakukan sebelum pemilihan masalah, penelaahan
perpusatakaan, termasuk memperoleh ide tentang masalah terbaru untuk
dirumuskan dalam penelitian (Sugiarti, 2017). Penulis melakukan studi
pustaka sebagai bahan tambahan guna melengkapi kekurangan-
kekurangan data yang diperoleh dari wawancara dan observasi.
Pengumpulan data dengan cara mengambil dari sumber-sumber media
cetak maupun elektronik yang dapat dijadikan acuan pembahasan
masalah.
1.7.2 Metode Perancangan Sistem
Metode perancangan sistem yang digunakan untuk membangun sistem yang
akan dirancang ini yaitu metodelogi berorientasi objek dengan pendekatan Rapid
Aplication Development (Kenneth & Julie, 2017) serta dengan tools Unified Model
Language (Sugiarti, 2017).
12
1.8 Sistematika Penulisan
Untuk mengetahui dan memahami gambaran secara umum mengenai dari isi
dari skripsi ini, maka penulis skripsi ini dibagi dalam lima bab dengan sistematika
penulisan sebagai berikut:
BAB III METODOLOGI PENELITIAN
Pada bab ini membahas tentang bagaimana dan seperti apa
metodologi yang digunakan dalam melakukan penelitian,
mulai data tahap pengumpulan data sampai pada tahap
perancangan aplikasi.
BAB IV ANALISIS DAN PERANCANGAN SISTEM
BAB I PENDAHULUAN
Pada bab ini dibahas secara singkat mengenai latar
belakang masalah, perumusan masalah, batasan masalah,
tujuan dan manfaat, metodologi penulisan, serta sistematika
penulisan penelitian.
BAB II LANDASAN TEORI
Pada bab ini akan dibahas teori-teori dasar yang digunakan
sebagai landasan pembahasan topik permasalahan.
13
Pada bab ini akan dibahas mengenai analisis terhadap
kebutuhan sistem serta perancangan sistem yang akan
dibuat.
BAB V PENUTUP
Pada bab ini berupa kesimpulan dari implementasi pada
bab-bab sebelumnya dan saran yang didapat untuk
pengembangan selanjutnya.
14
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Tinjauan Pustaka
Pada penelitian ini penulis mengambil referensi dari beberapa jurnal serta
tugas akhir, diantaranya adalah sebagai berikut :
2.1.1 A Comparison of Cryptographic Alghorithms: DES, 3DES, AES,
RSA and Blowfish for Guessing Attacks Prevention
Jurnal Aplikasi Komputer dan Teknologi Informasi yang dibuat oleh
Mohammed Nazeh Abdul Wahid, Abdulrahman Ali, Babak Esparham
dan Mohamed Marwan dipublikasikan pada tahun 2018. Peneliti
membuat perbandingan algoritma DES, 3DES, AES, RSA dan
Blowfish untuk mencegah serangan. Dalam penelitiannya
mempresentasikan hasil implementas dan analisis yang diterapkan
pada beberapa algoritma kriptografi karena setiap algoritma
kriptografi memiliki titik kelemahan dan titik kekuatan. Berdasarkan
kesimpulan algoritma blowfish adalah plihan yang sempurna dalam
hal waktu dan memori sesuai dengan kriteria serangan dan fitu yang
diperlukan karena mencatat waktu terpendek diantara semua
algoritma.
2.1.2 Implementas Kriptografi Dengan Algoritma Blowfish dan
Riverst Shamir Adleman (RSA) Untuk Proteksi File
Jurnal ilmiah FIFO yang dibuat oleh Faizal Zuli dan Ari Irawan
dipublikasikan pada tahun 2017. Peneliti menggunakan algoritma
Blowfish dan Riverst Shamir Adleman (RSA) untuk mengamankan
file document berupa teks, dan didapatkan kesimpulan bahwa
algoritma blowfish terdiri dari dua bagian, yaitu ekspansi kunci yang
berfungsi merubah kunci menjadi beberapa aray subkunci yaitu kunci
15
publik dan kunci privat menghasilkan nilai yang relatif acak serta
terjadi perubahan ukuran file sebelum dan sesudah di enkripsi sesuai
dengan algoritma yang digunakan.
2.1.3 Sistem Informasi Manajemen Anggaran (Simangga) Perguruan
Tinggi Berbasis Web (Studi Kasus: Universitas Siliwangi)
Jurnal edukasi dan penelitian informatika (JEPIN) yang dibuat oleh
Alam Rahmatulloh dan Husen dipublikasikan pada tahun 2017.
Peneliti membahas mengenai permasalahan klasik dalam pengelolaan
anggaran, yang terjadi diberbaga bidang salah satunya dunia
pendidikan, dan hasil dari penelitian ini terciptanya suatu sistem yang
dapat membantu manajemen anggaran internal yang dalam hal ini
satuan kerja Universitas Siliwangi, sistem tersebut sangat membantu
terutama bagi perguruann tinggi negeri baru yang masih minim
pengalaman.
2.2 Landasan Teori
Berikut ini merupakan beberapa landasan teori yang digunakan pada
penelitian ini, yaitu :
2.2.1 Kriptografi
Kriptografi berasal dari bahasa Yunani yaitu cryptós yang
artinya “secret” (yang tersembunyi) dan gráphein yang artinya
“writting” (tulisan). Jadi, kriptografi berarti ”secret writting”
(tulisan rahasia). Definisi yang dikemukakan oleh Bruce Schneier
(2017), kriptografi adalah ilmu dan seni untuk menjaga keamanan
pesan (Cryptography is the art and science of keeping messages
secure) (Zuli dan Irawan, 2017 : 5)..
16
Kriptografi mempunyai beberapa tujuan. Tujuan kriptografi
yaitu untuk memberi layanan keamanan (yang juga dinamakan
sebagai aspek-aspek keamanan) sebagai berikut (Handoko dan
Aripin, 2015 : 2-3):
a) Kerahasiaan (confidentiality)
Adalah layanan yang ditujukan untuk menjaga agar pesan
tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Di
dalam kriptografi, layanan ini direalisasikan dengan
menyandikan pesan menjadi chiperteks.
b) Integritas data (data integrity)
Adalah layanan yang menjamin bahwa pesan masih asli atau
belum pernah dimanipulasi selama pengiriman.Dengan kata
lain, aspek keamanan ini dapat diungkapkan sebagai
pernyataan: “Apakah pesan yang diterima masih asli atau
tidak mengalami perubahan (modifikasi)?”.
c) Autentikasi
Pada proses autentikasi ini data akan dicek apakah
mengalami manipulasi dalam isinya seperti penyisipan,
penghapusan dan penggantian data.
d) Non-Repudiasi
Jika seseorang sudah mengirimkan pesan, maka orang
tersebut tidak dapat membantah/ menyangkal pengiriman
pesan tersebut
17
Untuk menjaga integritas data, system harus memiliki
kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak
yang tidak berhak, antara lain penyisipan, penghapusan, dan
pensubstitusian data lain ke dalam pesan yang sebenarnya (Zuli dan
Irawan, 2017 : 5).
2.2.2 Algoritma Blowfish
Blowfish diciptakan oleh seorang Cryptanalyst bernama Bruce Schneier,
Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan
konsultan tentang kriptografi dan keamanan komputer) dan
dipublikasikantahun 1994. Dibuat untuk digunakan pada komputer yang
mempunyai microposesor besar (32-bit keatas dengan cache data yang
besar). Blowfish merupakan algoritma yang tidak dipatenkan dan licensefree,
dan tersedia secara gratis untuk berbagai macam kegunaan (Zuli dan Irawan,
2017: 6).
Pada saat blowfish dirancang, diharapkan mempunyai kriteria perancangan
sebagai berikut (Zuli dan Irawan, 2017: 6) :
a) Cepat, Blowfish melakukan enkripsi data pada microprocessors 32-bit
dengan rate 26 clock cycles perbyte.
Gambar 2. 1 Skema Enkripsi dan Dekripsi (Zuli dan Irawan, 2017 : 5)
18
b) Ringan (compact), Blowfish dapat dijalankan pada memori kurang dari
5K.
c) Sederhana, Blowfish hanya menggunakan operasi-operasi sederhana:
penambahan, XOR, dan lookuptabel pada operan 32-bit.
d) Memiliki tingkat keamanan yang bervariasi, panjang kunci yang
digunakan oleh Blowfish dapat bervariasi dan bisa sampai sepanjang
448 bit. Algoritma Blowfish terdiri atas dua bagian, yaitu ekspansi kunci
dan enkripsi data.
Blowfish menggunakan subkunci berukuran besar. Kunci-kunsi
tersebut harus dikomputasikan pada saat awal, sebelum
pengkomputasianenkripsi dan dekripsi data. Langkah-langkahnya adalah
sebagai berikut (Muhathir, 2018 : 26):
1. Terdapat kotak permutasi (P-box) yang terdiri dari 18 buah 32 bit
subkunci: P1, P2, P3, ... P18.
P-box ini telah ditetapkan sejak awal, 4 buah P-box awal adalah
sebagai berikut:
P1= 0x243f6a88
P2 = 0x85a308d3
P3 = 0x13198a2e
P4 = 0x03707344
2. P1 diXor dengan 32 bit awalkunci, P2 di Xor dengan 32 bit
berikutnya dari kunci, dan teruskan hingga seluruh panjang kunci
telah terxorkan (kemungkinan sampai P14, 14x32 = 448, panjang
maksimal kunci).
3. Terdapat 64 bit dengan isi kosong,bit -bit tersebut dimasukkan ke
langkah 2.
4. Gantikan P1 dan P2 dengan keluaran dari langkah 3.
5. Enkripsikan keluaran langkah 3 dengan langkah 2 kembali, namun
kali ini dengan subkunci yang berbeda (sebab langkah 2
menghasilkan subkunci baru).
6. Gantikan P3 dan P4 dengan keluaran dari langkah 5.
19
7. Lakukan seterusnya hingga seluruh P -box teracak sempurna.
8. Total keseluruhan, terdapat 521 iterasi untuk menghasilkan
subkunci – subkunci yang dibutuhkan. Aplikasi hendaknya
menyimpan daripada menghasilkan ulang subkunci – subkunci
tersebut.
Proses dekripsi dan enkripsi data pada algoritma blowfish adalah
sebagai berikut (Muhathir, 2018 : 27) :
Gambar 2. 2 Proses Enkripsi Blowfish (Muhathir, 2018 : 27)
1. Masukan dari proses ini adalah 64 bit data yang diinisialkan “x”.
20
2. Bagi x menjadi 2 buah bagian sama besar, xL (x kiri) sepanjang
32 bit, dan xR (x kanan) sepanjang 32 bit.
3. Lakukan iterasi sebanyak i=1 hingga i=16: xL = xL XOR P[i];
xR = F(xL) XOR xR; Swap(xL, xR);
4. Fungsi F adalah sebagai berikut: bagi xL menjadi 4 buah 8 bit
a, b, c, dan d. F(xL) = ((S[1,a] + S2[2,b] mod 232) XOR S[3,c])
+ S[4,d] mod 232.
5. Langkah terakhir adalah: Swap(xL, xR); xR = xR XOR P[17];
xL = xL XOR P[18], gabungkan xL dan xR menjadi 64 bit
return hasil gabungan 6
6. Pada proses dekripsi langkah - langkahnya sama persis dengan
proses enkripsi, namun hanya saja P-box digunakan dengan
urutan terbalik.
Gambar 2. 3 Proses ekspansi dan filter (fungsi F) pada blowfish (Muhathir,
2018 : 27)
2.2.3 Sistem Informasi Revisi Anggaran
Anggaran merupakan wujud komitmen dari budget holder eksekutif kepada
pemberi wewenang legislatif yang juga digunakan untuk memutuskan
prioritas prioritas dan kebutuhan keuangan. Pada sektor publik anggaran
merupakan dokumen politik sebagai bentuk komitmen eksekutif dan
kesepakatan legislatif atas penggunaan dana publik untuk kepentingan ter
21
tentu Anggaran bukan sekadar masalah teknis melainkan lebih merupakan
alat politik karena pada dasarnya anggaran tidak hanya disusun berdasarkan
ketentuan-ketentuan teknis ataupun melalui hitungan-hitungan ekonomi
semata tetapi lebih dari itu dokumen penganggaran disusun berdasarkan
sebuah kesepakatan dan merupakan sebuah terjemahan dari visi dan misi
kepala daerah terpilih (Hanida, 2017).
2.2.4 PHP (Personal Home Page)
PHP merupakan singkatan dari Personal Home Page yang merupakan
bahasa script yang tertanam dalam Hyper Text Markup Language (HTML),
untuk eksekusi bersifat server-side. PHP digunakan untuk mengekstrasi
data/informasi yang dikehendaki oleh pengguna dari basis data dan
menampilkannya pada halaman web. Kebanyakan server Windows NT dan
UNIX mendukung bahasa ini (Nugroho, 2015).
PHP merupakan bahasa script selain paling popular di lingkungan
pemrograman, pengembangan web, di lingkungan server web apache, kini
juga telah menjadi salah satu alternatif bahasa script di lingkungan server
web di windows (Sidik, 2015).
Menurut Sebesta (2015), PHP merupakan pemrograman server-side yang
secara spesifik diperuntukkan untuk pengembangan aplikasi web. PHP
memungkinkan akses yang mudah ke dokumen HTML karena kode
program diinterpretasikan pada sisi web server sebelum dokumen HTML
ditampilkan di client. PHP memiliki koleksi fungsi yang berlimpah yang
membuatnya menjadi bahasa pemrograman yang cocok digunakan dalam
pengembangan aplikasi perangkat lunak berbasis server.
22
Secara prinsip, server akan bekerja apabila ada permintaan dari client,
yaitu kode PHP. Permintaan tersebut akan dikirimkan kepada server,
kemudian server akan mengembalikan pada halaman sesuai instruksi yang
diminta oleh client (Saputra, 2015).
Personal Home Page memiliki banyak kelebihan yang tidak dimiliki oleh
bahasa script sejenisnya. PHP difokuskan pada pembuatan script server-
side, yang bisa melakukan apa saja yang dapat dilakukan oleh Common
Gateaway Interface (CGI), seperti mengumpulkan data dari form,
menghasilkan isi halaman web dinamis, dan kemampuan mengirim serta
menerima cookies, bahkan lebih daripada kemampuan CGI. Salah satu
kelebihan dari PHP juga adalah mampu berkomunikasi dengan berbagai
database yang terkenal (Kadir, 2015).
Welling dan Thompson (2014) menambahkan bahwa, “PHP memiliki
kelebihan dibandingkan bahasa pemrograman server side lainnya”.
Kelebihan PHP diantaranya adalah sebagai berikut :
1. Performa Tinggi
PHP mempunyai kinerja yang baik dalam melayani transaksi dalam
jumlah besar.
2. Interface ke banyak Database Management System
PHP memiliki driver untuk berintegrasi dengan banyak DBMS
seperti PostgreSQL, MSQL, Oracle dbm, FilePro, Hyperwave,
InterBase, SyBase databases, dan lain-lain.
3. Memiliki Library Fungsi Untuk Berbagai Tugas
23
Karena PHP dirancang untuk pengembangan web, PHP memiliki
library fungsi yang berlimpah untuk melakukan banyak tugas.
4. Open Source
PHP merupakan basa pemrograman tak berbayar. Pengguna bisa
mendownload kapan saja tanpa harus mengeluarkan biaya.
5. Mudah Dipelajari
PHP memiliki karakteristik yang sama dengan bahasa
pemrograman dasar.
6. Mendukung Object Oriented
Pada PHP 5 sudah mendukung penuh fitur yang ada pada object
oriented seperti inheritance, method, constructor, dan destructor.
7. Portable
PHP dapat dijalankan pada sistem operasi yang berbeda sepert
UNIX, LINUX, dan Windows.
8. Akses Penuh Ke Sumber Kode
Pengguna mempunyai kemudahan untuk mengakses dan
memodifikasi kode PHP yang dibuatnya.
2.2.5 Hierarchical Model View Controller (HMVC)
Hierarchical model view controller (HMVC) adalah suatu pola
MVC tetapi berupa hirarki dimana dalam imple mentasinya MVC tersimpan
didalam modul-modul tertentu sehingga setiap modul memiliki model,
view, dan controller sendiri. (Hidayat, 2015:3). Model view controller
(MVC). MVC adalah suatu pola yang membagi aplikasi menjadi 3 bagian,
yaitu model, view dan controller serta memisahkan Interface bagian dan
24
membuat tata Interface di Interface. MVC pertama kali dikenalkan Trygve
Reenskaug, pengembang software smalltalk pada xerox palo alto research
center, tahun 1979. Konsep ini membantu memisahkan Interface akses data
dengan logika bisnis (Lidya dalam Iskandar, dkk, 2015).
HMVC (Hierarchical Model View Controller) pertama kali
dijelaskan pada artikel javaWord yang berjudul (HMVC: The layered
pattern for developing strong client tiers) pada bulan Juli tahun 2000.
Artikel pada javaWord memberikan penjelasan rinci bagaimana pola
HMVC dapat membantu dalam desain aplikasi desktop dengan KEY.
Seperti yang dikatan Freyssinet. HMVC merupakan hirarki atau susunan
dari pola MVC yang terusun menjadi satu kesatuan aplikasi. Setiap susunan
MVC benar-benar independen (berdiri sendiri) dan dapat mengeksekusi
tanpa kehadiran yang lain. Semua permintaan dari susunan masing-masing
MVC harus menggunakan Interface (view) dan pengendali (controller)
sendiri dan tidak pernah memuat model atau perpustakaan di luar domain
atau susunan MVC sendiri.
Adapun fitur yang berbeda dari HMVC adalah mendorong
penggunaan (programmer) kembali kode yang sudah ada,
menyederhanakan pengujian bagian yang berbeda dari masing-masing
sistem MVC dan memastikan bahwa aplikasi ini mudah ditingkatkan atau
diperpanjang. Beberapa point keunggulan menerapkan pola HMVC dalam
siklus pengembangan aplikasi yaitu :
1. Modularisasi
Pengurangan ketergantungan Interface bagian-bagian yang berbeda
dari aplikasi.
2. Organisasi
Memiliki folder untuk masing-masing layer yang relevan menjadikan
beban kerja semakin ringan.
3. Reusability
Secara alami dari desain adalah mudah untuk menggunakan kembali
pada setiap bagian dari kode.
25
4. Extendibility
Membuat aplikasi lebih extensible tanpa mengorbankan kemudahan
pemeliharaan.
2.2.6 Framework
Framework yaitu sebuah kerangka kerja. Framework juga dapat
diartikan sebagai kumpulan script (terutama class dan function) yang dapat
membantu developer atau programmer dalam menangani berbagai
masalah-masalah dalam pemrograman seperti koneksi Key database,
pemanggilan variabel, file, dan yang lainnya sehingga developer lebih
fokus dan lebih cepat membangun aplikasi. Bisa juga dikatakan Framework
adalah komponen pemrograman yang siap re-use kapan saja, sehingga
programmer tidak harus membuat skrip yang sama untuk tugas yang sama
(Warsito, dkk, 2016 : 439).
Menurut Basuki dalam Activity (2015 : 2), framework dapat
diartikan sebagai koleksi atau kumpulan potongan-potongan program yang
disusun atau diorganisasikan sedemikian rupa, sehingga dapat digunakan
untuk membantu membuat aplikasi untuh tanpa harus membuat semua
kodenya dari awal. Saat ini ada banyak framework PHP, diantaranya: Zend,
Cake PHP, Trax, Symfony, Codeigniter dan sebagainya.
Tentu saja, setiap framework memiliki kelebihan dan
kekurangannya masing-masing. Keuntungan yang dapat diperoleh dari
penggunaan framemork adalah :
1. Waktu pembuatan aplikasi website jauh lebih singkat.
2. Kode aplikasi website menjadi lebih mudah dibaca, karena sedikit dan
sifatnya pokok, detailnya adalah kode dari framework.
3. Website menjadi lebih mudah diperbaiki, karena tidak perlu fokus Key
semua komponen kode website, terutama kode sistem framework.
4. Tidak perlu lagi membuat kode penunjang aplikasi website seperti
koneksi database, validasi form , KEY, dan keamanan.
26
5. Pikiran pengembang menjadi lebih terfokus Key kode alur
permasalahan website, apa yang ditampilkan dan layanan apa saja yang
diberikan dari aplikasi website tersebut.
6. Jika dikerjakan team work, maka akan lebih terarah karena sistem
framework, mengharuskan adanya keteraturan peletakan kode. Seperti
bagian pengambilan database terpisah dengan bagian pengaturan
tampilan untuk pengunjang (Activity, 2015 : 2)
2.2.7 Laravel
Laravel adalah framework PHP yang sedang populer saat ini. Sejak
dibuat oleh Taylor Otwell dan dirilis pertama kali pada 2015, Laravel
mendapatkan sambutan yang baik. Banyak developer yang semula
menggunakan framework lain, kini beralih menggunakan Laravel. Hal itu
tidak lain karena Laravel memiliki banyak fitur modern yang sangat
membantu dalam proses web development (Basuki, 2016).
2.2.8 Unfied Modelling Language (UML)
UML (Unfied Modelling Language) sendiri merupakan kesatuan dari
bahasa pemodelan yang dikembangkan oleh Booch, Object Modelling
Technique (OMT) dan Object Oriented Software Engineering (OOSE).
Metode Booch merupakan pemikiran yang berasal dari Grady Booch yang
terkenal dengan nama metode Design Object Oriented. Metode ini
menjadikan proses analisis dan desain ke dalam empat tahapan iteratif, yaitu
identifikasi kelas-kelas dan objek-objek, identifikasi semantik dari
hubungan objek dan kelas tersebut, perincian interface dan implementasi.
Keunggulan metode Booch adalah pada detil dan kayanya notasi dan
27
elemen. Sedangkan pemodelan OMT yang dikembangkan oleh Rumbaugh
didasarkan pada analisis terstruktur dan pemodelan entity relationship,
tahapan utama dalam metodologi ini adalah analisis, desain sistem, desain
objek dan implementasi. Keunggulan metode ini adalah dalam penotasian
yang mendukung semua konsep Object Oriented (OO) (Wesley, 2016).
Metode OOSE dari Jacobson lebih memberi penekanan pada use
case. OOSE memiliki tiga tahapan yaitu membuat model requirement dan
analisis, desain dan implementasi, dan model pengujian (test model).
Keunggulan metode ini adalah mudah dipelajari karena memiliki notasi
yang sederhana namun mencakup seluruh tahapan dalam rekayasa
perangkat lunak. Didalam UML, Metode Booch, OMT dan OOSE
digabungkan dengan membuang elemen-elemen yang tidak praktis
ditambah dengan elemen-elemen dari metode lain yang lebih efektif dan
elemen-elemen baru yang belum ada pada metode terdahulu sehingga UML
lebih ekspresif dan seragam daripada metode lainnya (Wesley, 2016).
UML yaitu merupakan salah satu alat bantu yang dapat digunakan
dalam melahirkan ide-ide baru maupun gagasan baru dalam pengembangan
sistem berorientasi objek yang memungkinkan pengembangan sistem
membuat blue print atas visinya dalam bentuk yang baku. UML memiliki
banyak diagram yang dapat mengakomodasikan berbagai sudut pandang
dari suatu perangkat lunak yang akan dibangun.
Pemodelan menggunakan Unified Modeling Language merupakan
metode pemodelan berorientasi objek dan berbasis visual. Karenanya
28
pemodelan menggunakan UML merupakan pemodelan objek yang fokus
pada pendefinisian struktur statis dan model sistem informasi yang dinamis
daripada mendefinisikan data dan model proses yang tujuannya adalah
pengembangan tradisional. UML menawarkan diagram yang di kelompokan
menjadi lima perspektif berbeda untuk memodelkan suatu sistem. Seperti
satu set blue print yang digunakan untuk membangun sebuah rumah
(Sugiarti, 2017).
Adapun Diagram dasar dalam Unified Modeling Language (UML) antara
lain :
1. Use Case Diagram
Use Case Diagram dipakai untuk menggambarkan relasi antara sistem
dan sistem eksternal dan User, dengan kasus yang disesuaikan dengan
langkah-langkah yang telah ditentukan. Use Case Diagram merupakan cara
/metode yang cocok untuk digunakan untuk dapat menggambarkan interaksi
yang jelas antara sistem dengan pengguna. Berikut adalah symbol-simbol
yang ada pada diagram use case :
a) Use Cases
Use case mendeskripsikan fungsi dari sebuah sistem dilihat dari sudut
pandang pengguna.
Gambar 2. 4 Use Cases (Rosa & Shalahuddin, 2014).
Use Case
Symbol
29
b) Actors
Actors merupakan sesuatu yang berinteraksi dengan sistem untuk saling
bertukar informasi. Actors tidak harus berupa manusia, tetapi dapat berupa
suatu organisasi atau sistem informasi.
Gambar 2. 5 Actors (Rosa & Shalahuddin, 2014)
c) Relationships
Sebuah relasi antar sistem dan sistem atau User dan sistem digambarkan
dengan sebuah garis di antara keduanya. Arti relasi yang bisa beragam,
tergantung pada bagaimana garis itu digambarkan dan apa yang mereka
hubungkan. Ada beberapa macam relasi, antara lain associations, extends
dan uses.
a. Associations
Associations adalah sebuah relasi antara seorang actor dengan sebuah use
case di mana terjadi interaksi antar mereka. Asosiasi dengan panah tertutup
(1) di ujung yang menyentuh use case mengindikasikan bahwa actor di
30
ujung yang satu sedang melakukan use case tersebut. Sedangkan asosiasi
tanpa panah (2) mengindikasikan sebuah interaksi dari use case ke actor
yang menerima hasil dari use case tersebut.
Gambar 2. 6 Associations (Rosa & Shalahuddin, 2014)
b. Extends
Extends bertujuan untuk menyederhanakan use case dengan fungsionalitas
yang kompleks beberapa langkah yang perlu dilakukan menjadi lebih
mudah dipahami.
Gambar 2. 7 Extends (Rosa & Shalahuddin, 2014)
31
c. Uses (or Include)
Uses bertujuan untuk mengurangi redundansi di dua use case atau lebih
dengan menggabungkan langkah-langkah yang sama tersebut.
Gambar 2. 8 Uses (Rosa & Shalahuddin, 2014)
32
Gambar 2. 9 Use Case Diagram (Rosa & Shalahuddin, 2014)
2. Class Diagram
Menurut Rosa dan Shalahuddin (2014), class diagram
digunakan untuk menggambarkan struktur objek statis sebuah sistem,
menunjukkan sistem tersusun kelas-kelas saja dan hubungan apa saja yang
terbentuk di antara kelas tersebut.
Hubungan yang terbentuk bisa berupa associations, aggregation
atau composition. Associations adalah konsep hubungan antar kelas objek
yang terkadang memiliki batasan minimal dan maksimal untuk jumlah
objek yang terbentuk dari masing-masing kelas. Aggregation merupakan
33
hubungan di mana satu kelas "whole" mengandumg satu atau lebih banyak
kelas "part". Sedangkan composition merupakan hubungan.
Gambar 2. 10 Class Diagram (Rosa & Shalahuddin, 2014)
Class Diagram diatas berbentuk dari beberapa notasi, antara lain
attribute, behavior, arrow head, dan solid diamond.
1. Attribute dan Behaviour
Gambar 2. 11 Attribute & Behaviuor (Rosa & Shalahuddin, 2014)
34
2. Arrow Head
Arrow Head melambangkan generalisasi atau spesialisasi dari sebuah relasi.
3. Solid Diamond
Solid diamond melambangkan komposisi agregasi dari sebuah relasi
Gambar 2. 13 Solid Diamond (Rosa & Shalahuddin, 2014)
3. Sequnce Diagram
Menurut Rosa dan Shalahuddin (2014), secara grafikal Sequence Diagram
yakni diagram yang menggambarkan bagaimana objek satu sama lain
melalui pesan dalam eksekusi usecase atau operasi. Diagram ini
mengilustrasikan bagaimana pesan dikirim dan diterima objek dan urutan
Gambar 2. 12 Arrow Head (Rosa & Shalahuddin, 2014)
35
yang seperti apa. Diagram ini lebih detail dalam penggambaran aliran data,
termasuk data yang dikirim ataupun diterima.
Gambar 2. 14 Sequence Diagram (Rosa & Shalahuddin, 2014)
Sebuah sequence diagram terbentuk dari beberapa notasi, antara lain
actor, system, lifelines, activation bars, input message, dan output message.
1. Actor
Actor, digambarkan dengan simbol actor pada usecase.
2. System
System, sebuah kotak digunakan untuk menggambarkan sistem yang
bersangkutan.
3. Lifelines
Lifelines, garis vertikal putus-putus yang mengindikasikan masa hidup
sistem/aktor.
36
4. Activation bars
Activation bars, balok panjang yang diletakkan di atas lifelines untuk
menggambarkan masa waktu terjadinya interaksi aktif.
5. Input message
Input message, garis horizontal dengan panah ke kanan yang
mengindikasikan pesan masuk.
6. Output message
Output message, garis horizontal dengan panah ke kiri yang
mengindikasikan pesan balik.
4. Activity Diagram
Menurut Whitten dan Bentley (2007). Activity Diagram merupakan
gambaran dari alur yang berurutan dari aktivitas usecase atau proses bisnis.
Activity Diagram juga bisa dipakai untuk memodelkan berbagai aksi yang
dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dari aksi
tersebut. Dari diagram ini, kita dapat melihat bagaimana aktivitas dalam
suatu sistem, dari mulai hingga saat sistem berakhir. Activity diagram
dibentuk oleh beberapa notasi, antara lain initial node, actions, flow,
decision, merge, fork, join, dan activity final, dan terkadang digunakan
swimlane untuk mempartisi aksi yang terjadi berdasarkan pelaku.
37
1. Initial node
Initial node berupa lingkaran penuh yang menggambarkan titik mulai suatu
proses.
2. Actions
Actions adalah notasi segiempat bersudut tumpul yang menggambarkan
langkah-langkah yang terjadi.
Gambar 2. 16 Actions (Rosa & Shalahuddin, 2014)
3. Flow
(Alur) merupakan panah dalam diagram yang mengindikasikan alur antar
actions.
Gambar 2. 15 Initial Node (Rosa & Shalahuddin, 2014)
Gambar 2. 17 Flow (Rosa & Shalahuddin, 2014)
38
4. Desicion
Memiliki bentuk seperti wajik dengan satu alur masuk dan dua atau lebih
alur keluar, alur keluar ditenmkan dengan kondisi tertentu.
Gambar 2. 18 Desicion (Rosa & Shalahuddin, 2014)
1) Merge
Merge adalah wajik dengan dua atau lebih alur masuk dan satu alur keluar
unmk menggabungkan alur yang sebelumnya terpisah oleh decision.
Gambar 2. 19 Merge (Rosa & Shalahuddin, 2014)
2) Fork
Fork adalah bar hitam dengan satu alur masuk dan dua atau lebih alur keluar,
aksi di bawah percabangan dapat dalam urutan apapun atau bahkan secara
bersamaan.
39
Gambar 2. 20 Fork (Rosa & Shalahuddin, 2014)
3) Join
Join adalah bar hitam dengan dua atau lebih alur masuk dan satu alur keluar
untuk menyatukan lagi alur aksi yang dipisahkan oleh fork.
Gambar 2. 21 Join (Rosa & Shalahuddin, 2014)
4) Activity Final
Activity final berbentuk lingkaran penuh dengan satu lingkaran di luarnya
untuk menggambarkan titik akhir proses.
Gambar 2. 22 Activity Final (Rosa & Shalahuddin, 2014)
40
Gambar 2. 23 Activity Diagram (Rosa & Shalahuddin, 2014)
2.2.9 Rapid Application Development (RAD)
Rapid Application Development (RAD) adalah suatu pendekatan
berorientasi objek untuk pengembangan sistem yang mencakup metode
pengembangan serta perangkat lunak. Konsep pada RAD, berfokus pada siklus
pembangunan yang singkat dan cepat yang menggunakan model iterative
(berulang) dalam perancangan sistem informasi (Kenneth & Julie , 2017) Menurut
Kenneth & Julie (2010), terdapat tiga fase RAD yang melibatkan pengguna dan
analis dalam analisis, desain, dan implementasi. Berikut penjelasan mengenai fase-
fase RAD :
41
1. Requirements Planning
Pada fase perencanaan kebutuhan ini, pengguna dan analis bertemu
untuk mengetahui apa yang menjadi kebutuhan sistem dengan
mengidentifikasikan tujuan-tujuan sistem dan mengidentifikasi
kebutuhan informasi yang akan menjadi tujuan sistem tersebut.
Diperlukan peran aktif dari kedua kelompok tersebut, juga melibatkan
pengguna dari beberapa level yang berbeda dalam organisasi.
Orientasi dalam fase ini adalah menyelesaikan masalah-masalah
yang ada pada perusahaan (Kendall & Kendal, 2008). Berikut merupakan
beberapa elemen yang terdapat dalam fase planning dan analisis,
diantaranya:
a. Identifikasi kebutuhan sistem
b. Analisis sistem yang berjalan
c. Identifikasi masalah
d. Analisis sistem usulan
2. RAD Design Workshop
Pada fase proses desain ini, merupakan fase perancangan dan
perbaikan yang dapat digambarkan dalam sebuah workshop. Pada design
workshop RAD, pengguna merespon prototype yang sedang dikerjakan
dan penganalisis memperbaiki manajemen desain berdasarkan respon
pengguna. RAD fase design workshop pada konseptualis fase RAD
42
James Martin menggabungkan fase User design dan fase construction
menjadi satu karena interaksi yang tinggi dan proses sifat visual design-
and-refine dibutuhkan di dalam interaktif (Kenneth & Julie , 2017)
3. Implementation
Pada fase implementasi ini, penganalisis bekerja dengan para pengguna
secara intens selama workshop untuk merancang aspek-aspek bisnis dan
nonteknis dari perusahaan- Setelah aspek-aspek ini disetujui dan
dibangun dan juga disaring, sistem baru atau bagian dari sistem diuji coba
diperkenalkan kepada organisasi (Kenneth & Julie , 2017)
Menurut Rosa & Shalahuddin (2014), model RAD memiliki kelemahan
sebagai berikut:
1. Untuk pembuatan sistem perangkat lunak dengan skala besar maka model
RAD akan memerlukan sumber daya manusia yang cukup besar untuk
membentuk tim-tim yang mengembangkan komponen-komponen.
2. Jika üdak ada persetujuan unmk mengembangkan perangkat lunak secara
cepat maka proyek model ini akan gagal karena hanya akan menimbulkan
kesulitan dalam mendefinisikan kebutuhan pelanggan (customer) atau
User.
3. Jika sistem perangkat lunak yang akan dibuat tidak bisa dimanajemenkan
(dibagi-bagi menjadi beberapa komponen) maka model RAD tidak dapat
digunakan untuk membuat sistem perangkat lunak ini karena terlalu
banyak campur tangan antar tim.
43
4. Model RAD tidak cocok digunakan untuk sisem perangkat lunak yang
memiliki risiko teknis sangat tinggi, misalnya menggunakan teknologi
baru yang belum banyak dikenal dan dikuasai pengembang.
Dalam bukunya, Rosa & Shalahuddin (2014) juga memberikan uraian model
RAD cocok diterapkan apabila memenuhi kriteria proyek sebagai berikut:
1. Tim sudah berpengalaman mengembangkan perangkat lunak yang sejenis.
2. Pengembang sudah memiliki komponen-komponen sistem yang bisa
digunakan kembali dalam proyek tersebut.
Dari dasar konsep model RAD ini munculah model-model yang berdasar atau
memodifikasi model RAD sebagai berikut (Rosa & Shalahuddin, 2014 ):
1. Pengembangan Perangkat Lunak "Tangkas" (Agile Software)
Dimana interaksi antaranggota tim dan pelanggan dianggap sebagai hal
yang penting lebih dari perangkat ataupun proses pengembangan
perangkat lunak. Hal ini ditujukan agar pengembangan bersifat sangat
tangkas dalam menangani perubahan yang terjadi. Contoh
pengembangan perangkat lunak " tangkas adalah scrum dan
pemrograman ekstrim.
a. Pengembangan Scrum (Semua Tim)
Semua tim yang terlibat dalam proyek bekerja secara overlapping
(tumpang tindih) sesuai dengan kebutuhan sumber daya pada proyek
perangkat lunak agar dapat meningkatkan kecepatan pengembangan
44
dan fleksibilitas. Peranan setiap tim di dalam model scrum telah
ditentukan.
b. Pengembangan Pemrograman Ekstrim (Extreme Programming)
Mengizinkan tim pengembang untuk berkomunikasi langsung
déngan pelanggan (customer) atau User maupun sesama pembuat
program (programmer). Ciri khas dari model ini adalah komunikasi
yang dilakukan setiap hari atau setiap ditemukan hal-hal yang
kurang jelas. Model ini sangat mengandalkan adanya umpan balik
(feedback) sehingga dibutuhkan anggota-anggota tim yang
berkualitas.
Rapid Application Development merupakan salah satu metode
pengembangan sistem yang memberikan kecepatan pengerjaan perancangan sistem
dalam waktu yang relatif tidak lama, selain itu pula terdapat beberapa perbandingan
dengan beberapa metode pengembangan sistem yang akan dijelaskan pada tabel
komparasi berikut ini:
Tabel 2. 1 Komparasi Metode Pengembangan Sistem (Pressman, 2014)
No Metode
Pengembangan
Sistem
Keterangan Kelebihan Kelemahan
1. Rapid Application Development
Suatu pendekatan berorientasi objek untuk pengembangan sistem yang mencakup metode pengembangan serta perangkat lunak
1. RAD mampu untuk mengurangi seluruh kebutuhan yang menyangkut dengan sumber daya manusia dan biaya projek.
2. Penghematan waktu dalam keseluruhan fase projek dapat tercapai.
1. Kelemahan yang dapat berkaitan dengan waktu dan perhatian terhadap detail. Aplikasi dapat diselesaikan secara lebih cepat, tetapi tidak mampu untuk mengarahkan
penekanan terhadap permasalahan-permasalahan pada perusahaan yang seharusnya diarahkan.
2. Dengan menggunakan metode RAD, penganalisis
45
dapat berusaha mempercepat projek dengan cara yang terburu-buru.
2. Spiral Model Model yang menggunakan metode iterasi natural yang dimiliki olehmodel prototyping dan digabungkan dengan
aspek sistimatis yang dikembangkan dengan model waterfall.
1. Dapat secara langsung menerapkan teknikal resiko pada setiap tahapan pengembangannya
2. Dapat secara detail (rinci) didalam proses pengerjaannya.
1. Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk mengakomodasi ketidakpastian pada saat awal proyek.
2. Dengan proses iterasi yang terlalu sering, spriral model hanya diperuntukan bagi projek yang berskala besar.
3. Prototyping Suatu model dimana software dibuat
prototype dan ditunjukkan ke User untuk mendapatkan feedbacknya.
1. Peningkatan peran aktif User didalam
proses pengembangan. 2. Meningkatnya komunikasi antara User dan developer
1. Kurangnya fitur keamanan dan kontrol pada prototype
akhir sistem. 2. Sistem akan sulit terbentuk jika proses evaluasi pada siklus prototype.
4. Incremental Model
Model pengembangan sistem berdasarkan
reqruitment software yang dipecah menjadi beberapa fungsi sehingga model dikembangkannya secara bertahap.
1. Tahapan awal berupa core product sebagai inti
sistem sebelum ke tahap selanjutnya. 2. Kualitas dari sistem yang dihasilkan akan baik dikarenakan oleh
pelaksanaannya yang dilakukan secara berulang.
1. Waktu tunggu untuk melakukan pengecekkan
sistem yang relatif lama karena harus menunggu sampai seluruhnya selesai terlebih dahulu. 2. Pengulangan pembuatan
sistem kembali dari awal apabila terdapat penambahan.
5. Waterfall Model pengembangan sistem yang sistematik dan sekuensial karena dimulai dengan
spesifikasi kebutuhan pengguna lalu berlanjut melalui tahapan perencanaan,permodelan, konstruksi serta penyerahan sistem ke
User yang diakhiri dengan dukungan pada perangkat lunak lengkap yang dihasilkan.
1. Pengaplikasian ke dalam sistem lebih mudah karena kebutuhan sistem dapat
didefinisikan secara utuh, eksplisit, dan benar pada awal projek. 2. Implementasi software engineering yang
digunakan dapat berjalan dengan baik dan tanpa masalah.
1. Kesulitan dalam mengakomodasi perubahan setelah proses dijalani.
2. Dalam melakukan fase yang selanjutnya maka fase sebelumya harus lengkap dan selesai.
Rapid Application Development merupakan metode pengembangan sistem
yang cara pengerjaannya memiliki penghematan waktu dalam keseluruhan fase
46
projek, serta mengurangi seluruh kebutuhan yang berkaitan dengan tingginya biaya
projek dan banyaknya sumber daya manusia. Pengerjaan sistem dengan
menggunakan metode pengembangan sistem RAD, memiliki kelemahan dalam
perhatian yang kurang detail, sehingga aplikasi yang dikerjakan dengan terburu-
buru tetapi tidak mampu mengarahkan penekanan terhadap permasalahan-
permasalahan yang seharusnya diarahkan.
Dalam skripsi ini, penulis menggunakan RAD karena fase-fase dalam RAD
dapat diselesaikan secara menyeluruh berdasarkan kebutuhan pengguna, namun
apabila terdapat penambahan atau modifikasi sistem dapat memperbaikinya
kembali tanpa harus mengubah secara menyeluruh fase-fase sebelumnya, sehingga
dapat mengurangi waktu untuk pengembangan ulang setelah tahap implementasi.
2.2.10 Systematic Literature Review
Dalam penelitian ini, peneliti menggunakan systematic literature
review (SLR) atau yang dalam Bahasa Indonesia disebut tinjauan pustaka
sistematis. Metode SLR merupakan suatu metode yang mengidentifikasi,
menilai, dan menginterpretasikan seluruh temuan-temuan pada suatu topik
penelitian, untuk menjawab pertanyaan penelitian yang telah ditetapkan
sebelumnya (Wahono, 2016).
Pada tahap awal metode SLR ini, peneliti merumuskan pertanyaan
penelitian (Research Question) sebagai berikut:
1. Keamanan data
2. Metode pengamanan data yang digunakan
47
Tahap selanjutnya adalah mencari literatur yang berhubungan dengan
pertanyaan penelitian dan sistem revisi anggran. Kemudian dari literature
yang telah terkumpul dapat disimpulkan dalam tabel di bawah ini :
Tabel 2. 2 Tabel Perbandngan hasil Systematic Literature Review
No Peneliti Judul Kekurangan Kelebihan
1. Alam
Rahmatulloh
dan Husen
(2017)
Sistem Informasi
Manajemen Anggran
Berbasis Web (Studi
Kasus: Universitas
Siliwangi)
Tidak digunakannya
enkripsi data
Dengan adanya sistem informasi
manajemen revisi anggaran dapat
membantu pengelolaan anggaran
internal sebelum digabungkan
dengan sistem yang sudah
disediakan oleh pemerintah.
2. Ferry
Kurniawan
(2017)
Perancangan Formulir
Elektronik Di Enkripsi
Dengan Metode
Blowfish Pada Sistem
Pendaftaran Online
(Studi Kasus: Seleksi
Mandiri Universitas
Tanjungpura)
Tidak adanya fitur
pencarian data arsip.
Sistem masih berbasis
desktop.
Kunci yang digunakan
hanya plainteks.
Aplikasi dapat mengenkripsi data
isian yang menghasilkan file
pmb_untan_ecbl.xml sebagai
media penyimpanan data yang
telah dienkripsi menggunakan
metode blowfish, sehingga dapat
digunakan sebagai media
pengisian formulir pendaftaran
online pada Seleksi Mandiri
Universitas Tanjungpura
3. Ferdy Riza,
Nurmala
Sridewi, Amir
Mahmud
Husein,
Muhammad
Khoiruddin
Harahap
(2018)
Analisa Frekuens Hasil
Enkripsi Algoritma
Blowfish Terhadap
Keamanan Informasi
Belum diketahuinya
akurasi nilai pasti yang
dihasilkan pada proses
analisa tersebut dengan
membandingkan pada
metode kriptografi
lainnya.
Kunci yang digunakan
hanya plainteks.
Tidak diterapkan dalam
sistem informasi.
Berdasarkan analisa tersebut
maka dapat diketahui dengan
mengukur tingkat keamanan
informasi menghasilkan
kesimpulan bahwa
ketergantungan kunci pada
algoritma blowfish terhadap
keamanan informasi sangat
berpengaruh secara signifikan, hal
ini didasarkan pada hasil
pengujian enkripsi plainteks
4. Mohammed
Nazeh Abdul
Wahid,
A Comparison of
Cryptographic
Alghorithms: DES,
Pada penelitiannya tidak
diterapkan di suatu
sistem informasi. Kunci
Dapat mengetahui bahwa
algoritma blowfish adalah pilihan
yang sempurna dalam hal waktu
48
Abdulrahman
Ali, Babak
Esparham, dan
Mohamed
Marwan
(2018)
3DES, AES, RSA and
Blowfish for Guessing
Attacks Prevention
yang digunakan hanya
plainteks
dan memori sesuai dengan kriteria
serangan tebakan dan fitur yang
diperlukan, karena ini mencatat
waktu terpendek di antara semua
algoritma.
5. Muhammad
Akif (2019)
Implementasi Algoritma
Enkripsi Blowfish Pada
Sistem Revisi Anggaran
Berbasis Online
(Studi Kasus :
Perpustakaan Nasional
Republik Indonesia)
Menggunakan Algoritma Enkripsi
Blowfish yang dikenal menjadi
salah satu pilihan yang paling
baik dalam hal waktu dan
memori.
Menggunakan metode USG
(Urgency, Seriousness, Growth).
Menggunakan kunci yang
diencoding dengan base64.
Sistem sudah berbasis online.
Menggunakan framework laravel
berbasis MVC.
49
BAB III
METODOLOGI PENELITIAN
3.1 Metodologi Pengumpulan Data
Dalam penyusunan skripsi ini, dibutuhkan data-data serta informasi yang
lengkap sebagai bahan yang dapat mendukung kebenaran uraian materi dan
pembahasan yang sesuai dengan tujuan penelitian, metode yang digunakan antara
lain: observasi, wawancara dan studi literatur sejenis. Metode pengumpulan data
yang digunakan dalam penelitian ini adalah:
3.1.1 Metode Observasi
Metode observasi yang dilakukan dengan pengamatan atau peninjauan
langsung ke Perpustkaan Nasional Republik Indonesia untuk memperoleh data-data
yang berkaitan dengan penelitian. Peneliti melakukan observasi dimulai pada
tanggal 20 Oktober 2018 yang beralamat di Jl. Salemba Raya, RT.8/RW.8, Kramat,
Kec. Senen, Kota Jakarta Pusat, daerah khusus ibu kota jakarta. Observasi
dilakukan bersamaan dengan proses perancangan aplikasi. Kegiatan ini dilakukan
dibawah pengawasan Bapak Dr. Adin Bondar, S.Sos, M.Si. Pengamatan dilakukan
setiap 4 kali selama 1 bulan dalam jangka waktu dari tanggal 20 Oktober 2018
sampai dengan 30 November 2018 mulai pukul 07.30 WIB – 16.00 wib. Hasil yang
didapatkan dalam kegiatan pengamatan ini adalah sebagai berikut :
50
1. Peneliti dapat mengetahui sistem yang berjalan tentang bagaimana proses
revisi anggaran di Perpustakaan Nasional Republik Indonesia.
2. Peneliti dapat mengetahui permasalahan terkait dengan belum
terdapatnya sistem yang dapat menunjang proses revisi anggaran menjadi
lebih cepat dan efektif sehingga dapat meningkatkan kinerja staff bagian
perencanaan di Perpustakaan Nasional Republik Indonesia.
3.1.2 Wawancara
Kegiatan ini merupakan kegiatan serangkaian tanya jawab dan wawancara
dengan staff bagian perencanaan untuk mengetahui sistem revisi anggaran dalam
yang sedang berjalan serta permasalahan atau kendala apa saja yang telah dihadapi.
Adapun pelaksanaan wawancara dilakukan pada :
Hari / Tanggal : Senin, 5 November 2018
Tempat : Perpustakaan Nasional Republik Indonesia
Narasumber : Bapak Dr. Adin Bondar, M.Si.
Jabatan : Kepala Bagian Perencanaan
Untuk mengetahui hasil wawancara dapat dilihat pada halaman lampiran.
51
3.1.3 Studi Literatur Sejenis
Studi pustaka yang dilakukan pada penelitian ini menggunakan metode
Systematic Literature Review (SLR) yang telah dijelaskan pada Bab II
3.2 Metode Pengembangan Sistem
Penulis menggunakan metode RAD (Rapid Application
Development) karena metode ini merupakan metode yang paling
sesuai dalam pembuatan sistem ini, karena lebih menekankan
pada pembuatan sistem prototype dengan melakukan pendekatan
kepada User (pengguna) dalam pencapaian solusi terhadap
permasalahan yang timbul.
Gambar 3. 1 Rapid Application Development (Kenneth & Julie , 2017)
3.2.1 Fase Perencanaan Syarat-syarat
Pada tahap ini, penulis dan staff Perpustakaan Nasional Republik Indonesia
melakukan pertemuan untuk melakukan identifikasi tujuan dan kebutuhan
52
informasi untuk mencapai tujuan yang diinginkan, yaitu merancang sistem
informasi revisi anggaran. Pada tahap ini hal terpenting adalah adanya keterlibatan
dari kedua belah pihak, untuk menyelesaikan permasalahan-permasalahan yang
ada.
3.2.1.1 Tujuan Sistem
Sistem ini bertujuan untuk meningkatkan kinerja staff Bagian Perencanaan
di Perpustakaan Nasional Republik Indonesia menerapkan dengan metode
algoritma enkripsi blowfish pada sistem revisi anggaran berbasis online untuk
meningkatkan keamanan data.
3.2.1.2 Analisis Kebutuhan Sistem
Proses revisi anggaran pada Perpustakaan Nasional Republik Indoensia
selama ini masih menggunakan tools Microsoft Office 2010. Sehingga memiliki
tingkat keakuratan yang rendah dan rentan terhadap kesalahan. Kemudian membuat
dan mengajukan revisi anggaran membutuhkan intensitas waktu tunggu selama tiga
bulan setelah proses verifikator selesai dan anggaran diterima atau disetujui.
Dalam mengatur revisi anggaran, staff memiliki beberapa prosedur yang
berlaku, antara lain :
1. Proses pembuatan dan pengajuan revisi anggaran beserta data atau surat
pendukung dilakukan oleh staff eselon 2 kemudian diberikan kepada
sekretariat utama dan selanjutnya melakukan pengajuan revisi anggaran
(jika status diterima) diberikan kepada verifikator biro hukum dan
perencanaan untuk melanjutkan pengajuan revisi anggaran ke
53
verifikator bagian perencanaan kemudian pengajuan revisi anggaran
diberikan kepada verifikator biro hukum dan perencanaan untuk
persetujuan dan revisi anggaran telah selesai diproses.
2. Membutuhkan data pengajuan revisi anggaran dan data pendukung
dalam pengajuan revisi anggaran.
3. Data yang digunakan adalah data term of reference yang terdiri dari data
kerangka acuan kerja mencakup data latar belakang, gambaran umum,
serta strategi pencapaian keluaran, dan data rancangan anggaran biaya
(RAB) yang mencakup revisi POK pusat preservasi bahan pustaka
tahunan, selanjutnya yaitu surat usulan yang terdiri dari permohonan
persetujuan pemanfaatan sisa pagu revisi internal POK tahunan
anggaran.
Dalam penulisan ini, penulis hanya akan menganalisis sistem revisi
anggaran yang ada di Perpustakaan Nasional Republik Indonesia yang berkaitan
dengan data pengajuan revisi anggaran dan data pendukung dalam pengajuan revisi
anggaran. Terdapat beberapa pihak yang terlibat dalam proses revisi anggaran,
diantaranya yaitu staff eselon 2, sekretariat utama, verifikator bidang hukum dan
perencanaan, verifikator bagian perencanaan, serta verifikator subbag perencanaan.
3.2.1.3 Workshop Design
Pada fase ini, dilakukan desain sistem yang diusulkan agar kebutuhan dan
analisis sebelumnya dapat dipahami dengan baik lagi. Kemudian, sistem yang
diusulkan nantinya dapat berjalan dengan lebih baik dan diharapkan dapat
mengatasi permasalahanpermasalahan yang ada. Pemodelan aplikasi dilakukan
54
dengan menggunakan UML. Adapun metode desain yang penulis gunakan terdiri
dari beberapa tahapan, yaitu :
1. Perancangan proses yang akan terjadi didalam sistem menggunakan
diagram UML.
2. Perancangan basis data (database)
3. Perancangan Interface, dengan membuat rancangan layar tampilan yang
berupa input-output yang bertujuan untuk memfasilitasi komunikasi
Interface user dengan sistem. Setelah rancangan layar tampilan terbentuk
maka dilakukan tahap konstruksi.
4. Kemudian penulis melakukan pengkodean (Coding) aplikasi.
3.2.2 Fase Pelaksanaan atau Implementasi
Pada tahap ini penulis melakukan tahap implementasi yaitu diantaranya :
1. Mengimplementasikan Enkripsi Blowfish Pada tahap ini penulis
menerapkan enkripsi Blowfish pada setiap file yang diunggah pengguna
pada saat pembuatan document revisi anggaran.
2. Pengujian atau testing aplikasi secara metode pengujian Blackbox.
Pada tahap ini penulis melakukan pengujian aplikasi agar dapat digunakan
tanpa menemukan kendala-kendala apapun. Adapun uji coba dilakukan adalah
dengan metode Blackbox Testing.
3.3 Kerangka Penelitian
Penyusunan skripsi ini disusun melalui beberapa tahapan yang harus
dilakukan, seperti terlihat pada gambar 3.2 dibawah ini.
55
Gambar 3. 2 Kerangka Penelitian
56
BAB IV
ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN
PENGUJIAN SISTEM
Pada bab ini akan membahas mengenai aplikasi sistem yang akan
diimplementasikan secara detail dan teperinci dengan menerapkan metode
penelitian yang telah diuraikan pada bab sebelumnya.
4.1 Fase Perencanaan Syarat
4.1.1 Tahap Pengumpulan Data dan Informasi
4.1.1.1 Profil Perpustakaan Nasional Republik Indonesia
Perpustakaan Nasional Republik Indonesia didirikan
pada tahun 1989 berdasarkan Keputusan Presiden nomor 11
tahun 1989. Pada pasal 19 dinyatakan bahwa Pusat
Pembinaan Perpustakaan, Perpustakaan Nasional
Departemen Pendidikan dan Kebudayaan dan Perpustakaan
Wilayah di Propinsi merupakan satuan organisasi yang
melaksanakan fungsi dan tugas perpustakaan nasional. Bila
membaca pasal 19 maka dapat ditafsirkan bahwa
Perpustakaan Nasional RI merupakan gabungan ketiga
lembaga tersebut.
57
4.1.1.2 Visi dan Misi Perpustakaan Nasional Republik
Indonesia
Berikut ini merupakan visi dan misi pada
Perpustakaan Nasional Republik Indonesia diantaranya
adalah sebagai berikut :
a) Visi
Terwujudnya indonesia cerdas melalui gemar
membaca dengan memberdayakan perpustakaan.
b) Misi
1. Terwujudnya layanan prima.
2. Terwujudnya perpustakaan sebagai pelestari
khazanah budaya bangsa.
3. Terwujudnya perpustakaan sesuai standar
nasional perpustakaan.
4.1.1.3 Struktur Organisasi
Struktur organisasi dapat diartikan sebagai
pembagian tugas atau fungsi atau unit-unit yang ada mulai
dari tingkat yang paling tinggi sampai ketingkat yang paling
rendah dalam suatu organisasi. Berikut ini merupakan bagan
organisasi dan tata kerja PERPUSNAS dalam melaksanakan
tugas, diantaranya yaitu :
58
Gambar 4. 1 Struktur Organisasi Perpustakaan Nasional Republik Indonesia (Perpusnas.go.id 2012)
59
4.1.1.4 Tugas, Fungsi dan Wewenang
PERPUSNAS mempunyai tugas melaksanakan tugas
pemerintahan dibidang perpustakaan sesuai dengan
ketentuan peraturan perundang-undangan yang berlaku.
Dalam melaksanakan tugas, PERPUSNAS
menyelenggarakan fungsi:
• Mengkaji dan menyusun kebijakan nasional dibidang
perpustakaan
• mengkoordinasikan kegiatan fungsional dalam
pelaksanaan tugas PERPUSNAS
• Melancarkan dan membina terhadap kegiatan instansi
Pemerintah dibidang perpustakaan
• Menyelenggarakan pembinaan dan pelayanan
administrasi umum dibidang perencanaan umum,
ketatausahaan, organisasi dan tata laksana,
kepegawaian, keuangan, kearsipan, persandian,
perlengkapan dan rumah tangga.
Fungsi
• Perpustakaan Nasional Republik Indonesia, (yang
selanjutnya dalam SK Kaperpusnas No.03/2001
disingkat PERPUSNAS) adalah Lembaga Pemerintah
Non Departemen;
60
• PERPUSNAS berada di bawah dan bertanggungjawab
kepada Presiden yang dalam pelaksanaan tugas
operasionalnya dikoordinasikan oleh Menteri
Pendidikan Nasional;
• PERPUSNAS mempunyai tugas melaksanakan tugas
pemerintahan dibidang perpustakaan sesuai dengan
ketentuan peraturan perundang-undangan yang berlaku.
Sedangkan wewenang yang dimiliki oleh
PERPUSNAS yaitu:
• Menyusun rencana nasional secara makro, dibidang
perpustakaan;
• Merumuskan kebijakan dibidang perpustakaan
untuk mendukung pembangunan secara makro;
• Menetapkan sistem informasi dibidang
perpustakaan;
• Kewenangan lain yang melekat dan telah
dilaksanakan sesuai dengan peraturan perundang-
undangan yang berlaku yaitu:
1. Merumuskan dan pelaksanaan kebijakan
tertentu dibidang perpustakaan.
61
2. Merumuskan dan pelaksanaan kebijakan
pelestarian pustaka budaya bangsa dalam
mewujudkan koleksi deposit nasional dan
pemanfaatannya.
4.1.1.5 Logo Perpustakaan Nasional Republik Indonesia
(PERPUSNAS)
Gambar 4. 2 Logo PERPUSNAS (perpusnas.go.id, 2018)
4.1.2 Analisis Sistem Berjalan
Setelah peneliti melakukan observasi dan wawancara selama 3 bulan di
Perpustakaan Nasional Republik Indonesia, peneliti menganalisis maksud,
tujuan, dan sasaran sistem yang sedang berjalan di Perpustakaan Nasional
Republik Indonesia untuk mengetahui alur sistem pengajuan revisi anggaran
yang berjalan saat ini, yaitu sebagai berikut :
62
Berikut penjelasan mengenai sistem revisi anggaran yang berjalan
di Perpustakaan Nasional Republik Indonesia :
1. Pembuatan dan pengajuan revisi anggaran beserta data atau
surat pendukung (status diterima) (berdasarkan gambar 4.3)
a. Eselon 2 membuat dan mengajukan revisi anggaran
beserta data atau surat pendukung ke Eselon 1.
b. Eselon 1 melakukan verifikasi, jika status disetujui maka
pengajuan revisi anggaran beserta data atau surat
pendukung akan dilanjutkan dengan cara memberikan
tanda tangan pada dokumen tersebut dan didisposisikan
ke Supervisor 1. Jika status pengajuan ditolak maka
pengajuan revisi anggaran beserta data atau surat
pendukung akan dikembalikan ke Eselon 2.
Gambar 4. 3 Rich Picture Sistem Berjalan Pengajuan Revisi Anggaran
63
c. Supervisor 1 melakukan verifikasi, jika status disetujui
maka pengajuan revisi anggaran beserta data atau surat
pendukung akan dilanjutkan dengan cara memberikan
tanda tangan pada dokumen tersebut dan didisposisikan
ke Supervisor 2. Jika status pengajuan ditolak maka
pengajuan revisi anggaran beserta data atau surat
pendukung akan dikembalikan ke Eselon 1.
d. Supervisor 2 melakukan verifikasi, jika status disetujui
maka pengajuan revisi anggaran beserta data atau surat
pendukung akan dilanjutkan dengan cara memberikan
tanda tangan pada dokumen tersebut dan didisposisikan
ke Supervisor 3. Jika status pengajuan ditolak maka
pengajuan revisi anggaran beserta data atau surat
pendukung akan dikembalikan ke Supervisor 1.
e. Selanjutnya supervisor 3 melakukan verifkasi, jika status
disetujui maka pengajuan revisi anggaran beserta data
atau surat pendukung akan dilanjutkan dengan cara
memberikan tanda tangan pada dokumen tersebut dan
didispoisiskan ke Supervisor 2. Jika status pengajuan
ditolak maka pengajuan revisi anggaran beserta data atau
surat pendukung akan dikembalikan ke Supervisor 2.
f. Supervisor 4 memeriksa pengajuan revisi anggaran
beserta data atau surat pendukung yang diberikan oleh
supervisor 3, jika status diterima maka dilakukannya
persetujuan revisi angaran dengan cara memberikan
tanda tangan pada dokumen tersebut kemudian data
pengajuan revisi anggaran dapat selesai sehingga
menghasilkan laporan revisi anggaran. Sedangkan Jika
status pengajuan ditolak maka pengajuan revisi
anggaran beserta data atau surat pendukung akan
dikembalikan ke Supervisor 3.
64
4.1.3 Identifikasi Masalah
Identifikasi masalah yang dilakukan yaitu identifikasi terhadap masalah yang
terjadi Perpustakaan Nasional Republik Indonesia khususnya pada sistem revisi
anggaran, diantaranya yaitu :
1. Proses pengajuan, analisis dan klarifikasi admnistrasi anggaran
masih ditentukan berdasarkan pengecekan kelengkapan data manual
paper based dan juga masih menggunakan tools Microsoft Office
2010. Sehingga memerlukan waktu pemrosesan 1-3 bulan.
2. Belum tersedianya sistem keamaan dalam melakukan revisi
anggaran khususnya pada lampiran data dukung pengajuan revisi
anggaran di lingkungan Perpustakan Nasional RI.
Maka berdasarkan permasalahan tersebut, dapat disimpulkan bahwa
diperlukannya sebuah sistem dalam revisi anggaran yang terkomputerisasi
sehingga proses pengajuab, analisis dan persetujuan revisi anggaran dapat
berlangsung lebih cepat dan memiliki sistem kemanan khususnya pada
lampiran data dukung dalam proses revisi anggaran di Perpustakaan
Nasional Republik Indonesia.
65
4.1.4 Sistem Yang Diusulkan
Berdasarkan analisis sistem berjalan, maka selanjutnya menentukan apa yang
harus diselesaikan dengan menggunakan sistem yang akan dibuat (usulan). Pada
sistem yang diusulkan yaitu sistem revisi anggaran dengan mengunakan Enkripsi
Blowfish, Perpustakaan Nasional Republik Indonesia memiliki 7 aktor yang terdiri
darri 1 aktor Super Administrator untuk mengatur hak akses data log akses aplikasi
dan memiliki akses penuh atas semua fungsi kecuali membuat data pengajuan revisi
anggaran, 1 aktor Eselon 2 yang memiliki akses untuk membuat data pengajuan
revisi anggaran beserta data atau surat pendukung. 1 aktor Eselon 1 yang
memberikan verifikasi untuk persetujuan atau pengembalian data pengajuan revisi
anggaran beserta data atau surat pendukung dan mendisposisikan kepada
Supervisor 1. 1 aktor Supervisor 1 yang memberikan verifikasi untuk persetujuan
atau pengembalian data pengajuan revisi anggaran beserta data atau surat
pendukung dan mendisposisikan kepada Supervisor 2. 1 aktor Supervisor 2 yang
memberikan verifikasi untuk persetujuan atau pengembalian data pengajuan revisi
anggaran beserta data atau surat pendukung dan mendisposisikan kepada
Supervisor 1. 1 aktor Supervisor 3 yang memberikan verifikasi untuk persetujuan
atau pengembalian data pengajuan revisi anggaran beserta data atau surat
pendukung dan mendisposisikan kepada Supervisor 2. 1 aktor Supervisor 4 yang
memberikan verifikasi untuk persetujuan atau pengembalian data pengajuan revisi
anggaran beserta data atau surat pendukung dan menghasilkan laporan revisi
anggaran.
66
Gambar 4. 4 Rich Picture Sistem Usulan
Dari hasil analisis, penulis membuat sistem usulan yang bertujuan untuk
memberikan alternatif solusi bagi Perpustakaan Nasional Republik Indonesia serta
bertujuan untuk melakukan enkripsi terhadap suatu file, sehingga sangat sesuai
pada pengamanan file Sistem Revisi Anggaran dengan menggunakan metode
algoritma blowfish karena merupakan salah satu algoritma enkripsi yang memiliki
waktu enkripsi tercepat dan membutuhkan penyimpanan memori yang minimum.
67
4.2 Fase Workshop Design
4.2.1 Desain Proses Enkripsi Blowfish
Gambar 4. 5 Proses Enkripsi Dokumen
Proses enkripsi menggunakan library PHP Secure
Communications Library. Proses enkripsi terjadi pada document
saat aktor melakukan upload document melalui sistem. Isi document
akan dibaca oleh kode php, lalu dilakukan enkripsi menggunakan
library PHP Secure Communications Library menggunakan kunci
yang sudah ditentukan penulis, terakhir isi document yang sudah di
enkripsi di tulis kembali Key dalam file dengan ekstensi .encrypted.
(Pratama, 2018)
68
4.2.2 Desain Proses Dekripsi Blowfish
Gambar 4. 6 Proses Dekripsi Blowfish
Proses dekripsi menggunakan library PHP Secure
Communications Library. Proses dekripsi terjadi pada document
yang telah dienkripsi di sistem. Isi document yang terenkripsi akan
dibaca oleh kode php, lalu dilakukan dekripsi menggunakan PHP
Secure Communications Library menggunakan kunci yang sama
seperti saat melakukan enkripsi, terakhir isi document yang sudah di
enkripsi di tulis kembali. (Pratama. 2018)
4.2.3 Desain UML
Berdasarkan analisa yang sudah dipaparkan sebelumnya,
maka pembahasan pada sub bab ini akan dijelaskan mengenai
perancangan sistem menggunakan UML yang terdiri atas use case
diagram, activity diagram, class diagram, dan sequence diagram.
69
4.2.3.1 Use Case Diagram
4.2.3.1.1 Identifikasi Aktor
Use case melaporkan interaksi antara actor di dalam Sistem Revisi
Anggaran, seperti dijelaskan pada tabel 4.1 sebagai berikut
pendefinisian aktor pada Sistem Revisi Anggaran :
Tabel 4. 1 Actor Use Case
No Aktor Deskripsi
1. Administrator Aktor yang memiliki hak akses untuk mengelola akun
user pada sistem revisi anggaran
2. Eselon II Aktor yang berhak memiliki hak akses untuk membuat
dokumen pengajuan dan membuat pengajuan revisi
anggaran. Jabatan eselon II meliputi biro hukum dan
perencanaan
3. Eselon I Aktor yang bertugas dan memiliki hak akses untuk
melihat dokumen pengajuan, mengelola pengajuan
revisi anggaran, mengelola comments pengajuan , dan
mengelola logs pengajuan. Jabatan eselon I meliputi
sekretariat utama
4. Supervisor 1 Aktor yang bertugas dan memiliki hak akses untuk
melihat dokumen pengajuan, mengelola pengajuan
revisi anggaran, dan mengelola comments pengajuan.
Jabatan supervisor I meliputi verifikator sestama
5. Supervisor 2 Aktor yang bertugas dan memiliki hak akses untuk
melihat dokumen pengajuan, mengelola pengajuan
70
4.2.3.1.2 Identifikasi Use Case
Berikut ini adalah pendefinisian use case pada sistem revisi anggaran:
Tabel 4. 2 Identifikasi Use Case
No Use Case Deskripsi Aktor
1 Login
Use case ini menggambarkan
kegiatan untuk memasukkan
username dan password agar
dapat mengakses sistem
Eselon 1, Eselon 2, Administrator,
Supervisor 1, Supervisor 2,
Supervisor 3, Supervisor 4
2 Create pengajuan revisi
anggaran
Use case ini menggambarkan
kegiatan untuk menambah data
pengajuan revisi anggaran
Eselon 2
3 Delete pengajuan revisi
anggaran
Use case ini menggambarkan
kegiatan untuk menghapus data
pengajuan revisi anggaran
Eselon 2
4 Update pengajuan revisi
anggaran
Use case ini menggambarkan
kegiatan untuk merubah data
pengajuan revisi anggaran
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3
5 View pengajuan revisi
anggaran
Use case ini menggambarkan
kegiatan untuk melihat data
pengajuan revisi anggaran
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
revisi anggaran, dan mengelola comments pengajuan
serta mengelola logs pengajuan. Jabatan supervisor 2
meliputi verifikator biro hukum dan perencanaan.
6. Supervisor 3 Aktor yang bertugas dan memiliki hak akses untuk
melihat dokumen pengajuan, mengelola pengajuan
revisi anggaran, dan mengelola comments pengajuan
serta mengelola logs pengajuan. Jabatan supervisor 3
meliputi verifikator bagian perencanaan.
7. Supervisor 4 Aktor yang bertugas dan memiliki hak akses untuk
melihat dokumen pengajuan, mengelola pengajuan
revisi anggaran, dan mengelola comments pengajuan
serta mengelola logs pengajuan. Jabatan supervisor 4
meliputi verifikator sub bagian perencanaan.
71
6 Create logs pengajuan
Use case ini menggambarkan
kegiatan untuk menambah logs
pengajuan
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
7 Create data user
Use case ini menggambarkan
kegiatan untuk mengelola data
user seperti menambah, data user
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
8 Update password
Use case ini menggambarkan
kegiatan untuk mengelola data
password seperti merubah atau
menghapus data
Administrator
9 View document pengajuan
Use case ini menggambarkan
kegiatan untuk mengelola data
document pengajuan seperti
melihat data
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
10 Deskripsi document
Use case ini merupakan proses
penerapan algoritma blowfish pada
dokumen pengajuan
-
11 Create document
pengajuan
Use case ini menggambarkan
kegiatan untuk menambah data
document pengajuan
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
12 Delete document
pengajuan
Use case ini menggambarkan
kegiatan untuk menghapus
document pengajuan
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
13 Create comments
pengajuan
Use case ini menggambarkan
kegiatan untuk menambah
comments pengajuan
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
14 Laporan pengajuan revisi
anggaran
Proses untuk menghasilkan
laporan pengajuan revisi anggaran
dalam bentuk grafik
Eselon 1, Eselon 2, Supervisor 1,
Supervisor 2, Supervisor 3,
Supervisor 4
15 Logout
Use Case ini menggambarkan
kegiatan untuk menghapus hak
akses dan keluar dari sistem
Eselon 1, Eselon 2, Administrator,
Supervisor 1, Supervisor 2,
Supervisor 3, Supervisor 4
4.2.3.1.3 Use Case Diagram Sistem Revisi Anggaran
Setelah penulis mengidentifikasi aktor serta mengidentifikasi use case
dari tiap-tiap aktor, berikutnya penulis membuat rancangan use case secara
menyeluruh yang digambarkan oleh diagram pada Gambar 4.9 Use Case Diagram
Sistem Revisi Anggaran.
72
Gambar 4. 7 Use Case Diagram
73
4.2.3.2 Use Case Scenario
1. Scenario Use Case Login
Tabel 4. 3 Scenario Use Case Login
2. Scenario Create Pengajuan Revisi Anggaran
Tabel 4. 4 Scenario Use Case Create Pengajuan Revisi Anggaran
No Use Case 01
Nama Login
Description Use case ini menggambarkan kegiatan actor dengan cara mengisi Username dan password pada form login untuk dapat masuk ke dalam sistem.
Actor Eselon I, Eselon II, Supervisor I, Supervisor II, Supervisor III, Supervisor IV, Administrator
Narasi Utama
Precondition Aktor melakukan login dengan menggunakan email address dan password
Typical
Course of
Events
Actor Actions System Response
1. Pilih menu login 2. Menampilkan form login
3. Input Email Address dan password
4. Validasi Email Address dan password
Alternate
Courses
Jika data yang diinput oleh user tidak valid maka sistem akan menampilkan pesan kesalahan
Post
Condition
Actor berhasil login
No Use Case 02
Nama Create pengajuan revisi anggaran
Description Proses untuk menambah data pengajuan revisi anggaran
Actor Eselon II
Narasi Utama
Kondisi Awal Actor berhasil masuk ke dalam sistem dan ingin membuat pengajuan revisi anggaran
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Proses baru 2. Validation session sistem login
3. Input data baru 4. Validasi data
5. Menampilkan data pengajuan
revisi
Alternate
Courses
Jika masih ada proses pengajuan revisi anggaran yang belum selesai maka tidak dapat membuat proses baru
Post Condition Data pengajuan revisi anggaran berhasil di buat
74
3. Scenario Delete Pengajuan Revisi Anggaran
Tabel 4. 5 Scenario Use Case Delete Pengajuan Revisi Anggaran
4. Scenario Update Pengajuan Revisi Anggaran
Tabel 4. 6 Scenario Use Case Delete Pengajuan Revisi Anggaran
No Use Case 03
Nama Delete pengajuan revisi anggaran
Description Proses untuk menghapus data pengajuan revisi anggaran
Actor Eselon II
Narasi Utama
Kondisi Awal Data pengajuan revisi anggaran sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Proses baru 2. Validation session sistem login
3.Menampilkan tabel dan
informasi revisi anggaran
4. Pilih data dan tekan button
‘Delete’
5. Validasi data
6. Menghapus data revisi anggaran
Alternate
Courses
Jika terjadi kesalahan maka sistem akan menampilkan kesalahan data tidak berhasil di hapus
Post Condition Data pengajuan revisi anggaran berhasil di hapus
No Use Case 04
Nama Update pengajuan revisi anggaran
Description Proses untuk mengubah data pengajuan revisi anggaran
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3, Supervisior 4
Narasi Utama
Kondisi Awal Data pengajuan revisi anggaran dan data pendukung sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Tugas 2. Validation session sistem login
3.Menampilkan tabel dan
informasi pengajuan revisi
anggaran
4. Pilih data dan tekan button
‘Proses’
5. Validasi data
6. Pilih disetujui atau
dikembalikan
7. Mengubah data revisi anggaran
Alternate
Courses
-
Post Condition Data pengajuan revisi anggaran berhasil di ubah
75
5. Scenario View Pengajuan Revisi Anggaran
Tabel 4. 7 Scenario Use Case View Pengajuan Revisi Anggaran
6. Scenario Create Log Pengajuan
Tabel 4. 8 Scenario Use Case Create Log Pengajuan
No Use Case 05
Nama View pengajuan revisi anggaran
Description Proses untuk melihat data pengajuan revisi anggaran
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3,
Supervisior 4
Narasi Utama
Kondisi Awal Data pengajuan revisi anggaran dan data pendukung sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Arsip data revisi 2. Validation session sistem login
3.Menampilkan tabel dan
informasi data revisi
4. Pilih data dan tekan button
‘Detil’
5. Validasi data
6. Pilih disetujui atau
dikembalikan
6. Menampilkan tabel dan
informasi pengajuan revisi
kegiatan
Alternate
Courses
Post Condition Data pengajuan revisi anggaran berhasil di lihat
No Use Case 06
Nama Create Log pengajuan
Description Proses untuk melihat alur proses pengajuan data revisi anggaran
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3, Supervisior 4
Narasi Utama
Kondisi Awal Data alur pengajuan revisi anggaran sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Arsip data revisi 2. Validation session sistem login
3.Menampilkan tabel dan
informasi data revisi
4. Pilih data dan tekan button
‘Detil’
5. Validasi data
6. Tekan tombol ‘Alur’ 6. Menampilkan informasi riwayat
aktiftas data pengajuan revisi
anggaran
Alternate
Courses
Post Condition Riwayat aktitas data pengajuan revisi anggaran berhasil di lihat
76
7. Scenario Data User
Tabel 4. 9 Scenario Data User
8. Scenario Update Password
Tabel 4. 10 Scenario Update Password
9. Scenario View Document Pengajuan
Tabel 4. 11 Scenario View Document Pengajuan
No Use Case 07
Nama Data User
Description Proses memanage data user yang terdiri dari pengoperasian Create,
Update, dan Delete data.
Actor Administrator
Narasi Utama
Kondisi Awal User sudah memiliki akses ke dalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Admin Panel 2. Validation session sistem login
3.Menampilkan statistik
4. Pilih ‘Users’ 5. Menampilkan master data users
6. Tekan tombol ‘Add new
user’dan tombol ‘save’
7. Validasi data
8. Menampilkan informasi data
users
Alternate
Courses
Jika terjadi kesalahan maka sistem akan menampilkan kesalahan
Post Condition Data users berhasil di buat
No Use Case 08
Nama Update Password
Description Proses untuk merubah password
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3, Supervisior 4, Administrator
Narasi Utama
Kondisi Awal User sudah memiliki password
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Profil 2. Menampilkan setting
4. Validasi data
3. Pilih Tab Password 5. Data berhasil dirubah
Alternate
Courses
Jika terjadi kesalahan maka sistem akan menampilkan kesalahan
Post Condition Password users berhasil di ubah
No Use Case 09
Nama View Document pengajuan
Description Proses untuk melihat dokumen pengajuan data revisi anggaran
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3, Supervisior 4
Narasi Utama
77
10. Scenario Deskripsi Dokumen
Tabel 4. 12 Scenario Deskripsi Dokumen
11. Scenario Create Document Pengajuan
Tabel 4. 13 Create Document Pengajuan
Kondisi Awal Data alur pengajuan revisi anggaran sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu Arsip data revisi 2. Validation session sistem login
3.Menampilkan tabel dan
informasi data revisi
4. Pilih data dan tekan button
‘Detil’
5. Validasi data
6. Menampilkan data pengajuan
revisi anggaran secara detil
Alternate
Courses
Post Condition Data pengajuan revisi anggaran berhasil di lihat
No Use Case 10
Nama Deskripsi dokumen
Description Proses penerapan algoritma blowfish pada dokumen pengajuan
Actor Mendapat inputan dokumen pada data pendukung
Narasi Utama
Kondisi Awal Belum ada data yang di input
Typical Course of
Events
Actor Actions System Response
Alternate
Courses
Post Condition Algoritma blowfish berhasil diterapkan
No Use Case 11
Nama Create Document Pengajuan
Description Proses unutk menambahkan data pengajuan
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3, Supervisior 4
Narasi Utama
Kondisi Awal Data pengajuan revisi anggaran sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu ‘Tugas’ 2. Validation session sistem login
3.Menampilkan tabel dan
informasi pengajuan revisi
kegiatan
4. Pilih data dan tekan button
‘Edit’
5. Validasi data
6. Menampilkan data pengajuan
revisi kegiatan
78
12. Scenario Delete Document Pengajuan
Tabel 4. 14 Delete Document Pengajuan
13. Scenario Create Comments Pengajuan
Tabel 4. 15 Create Comments Pengajuan
Alternate
Courses
Jika terjadi kesalahan maka sistem akan menampilkan kesalahan
Post Condition Document pengajuan berhasil di buat
No Use Case 12
Nama Delete Document Pengajuan
Description Proses unutk menghapus ambahkan data pengajuan
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3, Supervisior 4
Narasi Utama
Kondisi Awal Data pengajuan revisi anggaran sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu ‘Tugas’ 2. Validation session sistem login
3.Menampilkan tabel dan
informasi pengajuan revisi
kegiatan
4. Pilih data dan tekan button
‘Delete’
5. Validasi data
6. Menampilkan data pengajuan
revisi kegiatan
Alternate
Courses
Jika terjadi kesalahan maka sistem akan menampilkan kesalahan
Post Condition Document pengajuan berhasil di hapus
No Use Case 13
Nama Create Comments Pengajuan
Description Proses unutk membuat komentar pada dokumen pengajuan
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3, Supervisior 4
Narasi Utama
Kondisi Awal Data pengajuan revisi anggaran sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu ‘Tugas’ 2. Validation session sistem login
3.Menampilkan tabel dan
informasi pengajuan revisi
kegiatan
4. Pilih data dan tekan button
‘Simpan Komentar’
5. Validasi data
6. Menampilkan data pengajuan
revisi kegiatan
Alternate
Courses
Jika terjadi kesalahan maka sistem akan menampilkan kesalahan
Post Condition Komentar berhasil di buat
79
14. Scenario Laporan Pengajuan Revisi Anggaran
Tabel 4. 16 Scenario Laporan Pengajuan Revisi Anggaran
15. Scenario Logout
Tabel 4. 17 Scenario Logout
No Use Case 14
Nama Laporan Pengajuan Revisi Anggaran
Description Proses unutk menghasilkan laporan dalam bentuk grafik
Actor Eselon I, Eselon II, Supervisior 1, Supervisior 2, Supervisior 3,
Supervisior 4
Narasi Utama
Kondisi Awal Data pengajuan revisi anggaran sudah ada didalam sistem
Typical Course of
Events
Actor Actions System Response
1. Pilih menu ‘Laporan
Pengajuan Revisi Anggaran’
2. Validation session sistem login
3.Menampilkan halaman laporan
pengajuan revisi anggaran
4. Pilih tahun dan tekan tombol
‘Filter’
5. Validasi data
6. Menampilkan grafik laporan
pengajuan revisi anggaran
Alternate
Courses
Jika terjadi kesalahan maka sistem akan menampilkan kesalahan
Post Condition Laporan berhasil ditampilkan
No Use Case 15
Nama Logout
Description Use case ini menggambarkan kegiatan actor keluar dari sistem
Actor Eselon I, Eselon II, Supervisor I, Supervisor II, Supervisor III, Supervisor IV, Administrator
Narasi Utama
Precondition Aktor melakukan ;ogout
Typical
Course of
Events
Actor Actions System Response
1. Pilih username 2. Menampilkan form users
3. Tekan tombol Signout 4. Validasi data
5. Menampilkan halaman home
Alternate
Courses
Jika data yang diinput oleh user tidak valid maka sistem akan menampilkan pesan kesalahan
Post
Condition
Actor berhasil logout
80
4.1.1.3 Activity Diagram
Berikut ini adalah beberapa diagram aktivitas yang terjadi dalam sistem
revisi anggaran. Aktivitas tersebut dipicu oleh interaksi aktor dalam sistem yang
telah terdefinisikan sebelumnya dalam Use Case Diagram.
1. Activity Diagram “Login”
Activity diagram berikut ini menggambarkan actor yang harus
melakukan login terlebih dahulu untuk masuk ke dalam sistem dan
dapat menggunakan sistem sesuai dengan hak akses masing-masing.
Sistem akan menampilkan halaman login untuk user agar dapat mengisi
username dan password.
Gambar 4. 8 Activity Diagram Login
81
2. Activity Diagram “Data User”
Gambar 4. 9 Activity Diagram Data User
Data yang dapat diubah pada Activity Diagram di atas yaitu, Data
Account dari masing-masing User yang ada di dalam system.
82
3. Activity Diagram “Arsip Data Revisi”
Pada gambar 4.11 merupakan diagram activity untuk mengelola
arsip data revisi. Activity dimulai dari pengguna memilih menu arsip
data revisi lalu sistem akan menampilkan daftar satuan kerja. Setelah
itu, pengguna dapat melihat secara detail untuk dapat menampilkan
daftar pengajuan revisi, lalu pengguna dapat melakukan pengelolaan
data dengan menekan tombol alur, komentar maupun detail.
Gambar 4. 10 Activity Diagram Arsip Data Revisi
83
4. Activity Diagram “Proses Baru”
Pada gambar 4.12 merupakan diagram activity untuk proses baru.
Activity dimulai dari pengguna memilih menu proses baru lalu sistem
akan menampilkan form input header revisi, kemudian pengguna
memasukkan data yang nantinya akan di validasi terlebih dahulu,
disimpan untuk menampilkan daftar data anggaran. Setelah itu,
pengguna dapat dapat melakukan pengelolaan data dengan menekan
tombol tambah dan edit. Selanjutnya akan menampilkan daftar dan
form upload data dukung kemudian data di download untuk
mendeskripsi dokumen dan disimpan. Lalu data divalidasi kembali
untuk menyimpan data dan dilakukannya enkripsi data.
84
Gambar 4. 11 Activity Diagram Proses Baru
85
5. Activity Diagram “Tugas”
Gambar 4. 12 Activity Diagram Tugas
Pada gambar 4.13 merupakan diagram activity untuk mengelola
tugas. Activity dimulai dari pengguna memilih menu tugas lalu sistem
akan menampilkan daftar pengajuan revisi. Setelah itu, pengguna dapat
melakukan pengelolaan data dengan menekan tombol proses, alur,
komentar setelah itu data dapat disimpan.
86
6. Activity Diagram “Laporan”
Pada gambar 4.14 merupakan diagram activity untuk mengelola
laporan. Activity dimulai dari pengguna memilih menu laporan
pengajuan revisi anggaran lalu sistem akan menampilkan halaman
laporan. Setelah itu, pengguna dapat melakukan fileter data yang akan
di export selanjutnya dengan menekan tombol export maka data dapat
disimpan dalam format .xls.
Gambar 4. 13 Activity Diagram Laporan
87
7. Activity Diagram “Panduan”
Gambar 4. 14 Actvity Diagram Panduan
Pada gambar 4.15 merupakan diagram activity untuk mengelola
panduan. Activity dimulai dari pengguna memilih menu penduan
aplikasi lalu sistem akan menampilkan halaman panduan.
8. Activity Diagram “Logout”
Diagram aktifitas berikut ini akan menjelaskan bagaimana actor
yang ingin keluar dari sistem setelah sebelumnya login ke halaman yang
dingginkan yang di sesuaikan dengan hak akses masing – masing
account.
88
Gambar 4. 15 Activity Diagram Logout
4.2.3.3 Class Diagram
Pada tahap ini akan dirancang kebutuhan database dengan
menggunakan tools class diagram. Class diagram menggambarkan grafis
mengenai struktur objek dari satu sistem. Berikut ini akan digambarkan
tentang class diagram pada sistem revisi anggaran
89
Gambar 4. 16 Class Diagram
90
4.2.4 Desain Database
Berikut ini adalah penjelasan desain database yang diterapkan pada sistem
revisi anggaran.
4.2.4.1 Spesifikasi Database
Spesifikasi database pada sistem revisi anggaran dirancang sebagai
berikut :
a. Nama Tabel : comments
Primary key : id
Foreign key : process_id, owner_id
Description : untuk data comments yang terdapat di dalam sistem
Tabel 4. 18 Tabel comments
No Field Tipe Data Length Keterangan
1 id INT 10 Kode unik untuk tabel comments
2 Process_id VARCHAR 255 Kode unik untuk proses
3 Owner_id INT 10 Kode unik untuk owner
1 Comment Text - Isi dari komentar
2 Return TINYINT 1 Status untuk pengembalian data
3 Create_at Timestamp - Tanggal dibuatnya komentar
4 Update_at Timestamp - Tanggal dilakukannya edit data
b. Nama Tabel : documents
Primary Key : id
Foreign Key : -
Description : untuk data dokumen dari para users.
91
Tabel 4. 19 Tabel Documents
No Field Tipe Data Length Keterangan
1 id Int 11 Atribut yang merupakan kunci utama
pada tabel documents
2 title Varchar 255 Nama berkas
3 type Varchar 50 Username Pengguna
4 size Date - Waktu saat pengguna menggunakan
aplikasi
5 mime Varchar 255 Extension untuk tipe file
6 Filepath Varchar 255 Isi dari link data surat usulan
7 owner Int 10 Kode nomor users
8 description Text - Isi dari keterangan dokumen
9 Create_at Timestamp - Tanggal dibuatnya komentar
10 Update_at Timestamp - Tanggal dilakukannya edit data
c. Nama Tabel : documents_panduan
Primary Key : id
Foreign Key : -
Description : untuk data dokumen panduan
Tabel 4. 20 Tabel documents_panduan
No Field Tipe Data Length Keterangan
1 Id Int 11 Atribut yang merupakan kunci utama
pada tabel documents_panduan
2 Title Varchar 255 Nama berkas
3 Type Varchar 50 Jenis data yang di masukkan ke sistem
4 Size Date - Ukuran data
5 Mime Varchar 255 Extension untuk tipe file
6 Filepath Varchar 255 Isi dari link data surat usulan
7 Owner Int 10 Kode nomor users
8 description Text - Isi dari keterangan dokumen
9 Create_at Timestamp - Tanggal dibuatnya komentar
10 Update_at Timestamp - Tanggal dilakukannya edit data
92
d. Nama Tabel : Logs
Primary Key : id
Foreign Key : id_pagu_revisi
Description : riwayat aktivitas revisi anggaran
Tabel 4. 21 Tabel Logs
No Field Tipe Data Length Keterangan
1 Id Int 11 Atribut yang merupakan kunci utama
pada tabel logs
2 Id_pagu_revisi Int 11 Kode unik untuk tabel revisi
3 Pic Varchar 50 Nama untuk penanggung jawab
4 status Date Keterangan status
5 Create_at Timestamp - Tanggal dibuatnya komentar
6 Update_at Timestamp - Tanggal dilakukannya edit data
e. Nama Tabel : revisi
Primary Key : id
Foreign Key : header_id
Description : untuk data revisi dari para users
Tabel 4. 22 Tabel revisi
No Field Tipe Data Length Keterangan
1 id varchar
255 Atribut yang merupakan kunci
utama pada tabel revisi
2 Header_id varchar
255 Kode unik untuk tabel
revisi_header
3 tahun varchar 4 Tahun dilakukannya revisi
4 Kode_department varchar 3 Kode untuk department
5 Kode_unit_kerja varchar 2 Kode untuk unit kerja
6 Kode_program varchar 2 Kode untuk program
7 Kode_satuan_kerja varchar 6 Kode untuk satuan kerja
8 Kode_kegiatan varchar 4 Kode untuk kegiatan
9 Kode_output varchar 3 Kode untuk output
10 Kode_suboutput varchar 3 Kode untuk suboutput
11 Kode_komponen varchar 3 Kode untuk komponen
12 Kode_subkomponen varchar 2 Kode untuk subkomponen
13 Kode_akun Varchar 6 Kode untuk akun
93
14 Kode_mak varchar 255 Kode untuk mak
15 department varchar 255 Nama department
16 Unit_kerja varchar 255 Data unit kerja user
17 Satuan kerja varchar 255 Data satuan kerja user
18 Program varchar 255 Isi dari program user
19 kegiatan varchar 255 Isi dari kegiatan user
20 Output varchar 255 Isi dari hasil yang diperoleh
user
21 suboutput varchar 255 Isi keterangan penjelasan dari
output
22 Komponen varchar 255 Isi data komponen user
23 Subkomponen Varchar 255 Isi data subkomponen user
24 Akun varchar 255 Data akun user
25 Pagu Double - Isi data total jumlah biaya
26 Revisi Double - Jumlah status yang telah
direvisi
27 Kode_item Decimal 3,0 Kode untuk item
28 Item Char 120 Keterangan nama item
29 Volume_kegiatan Decimal 9,0 Isi dari volume kegiatan
30 Satuan_kegiatan char 5 Isi dari satuan kegiatan
31 Harga_Satuan Double Isi dari harga satuan
32 New_kode_output Varchar
3 Isi dari kode output yang telah
diproses
33 New_kode_suboutput Varchar
3 Isi dari kode suboutput yang
telah diproses
34 New_kode_komponen Varchar
3 Isi dari kode komponen yang
telah diproses
35 New_kode_subkomponen Varchar
2 Isi dari kode subkomponen
yang telah diproses
36 New_kode_akun Varchar
6 Isi dari kode akun yang telah
diproses
37 New_kode_mak Varchar
255 Isi dari kode mak yang telah
diproses
38 New _output Varchar 255 Data output yang baru
39 New_suboutput Varchar 255 Data suboutput yang baru
40 New_komponen Varchar 255 Data komponen yang baru
41 New_subkomponen Varchar 255 Data subkomponen yang baru
42 New_akun Varchar 255 Data akun yang baru
43 New_kode_item Decimal 3,0 Data kode item yang baru
44 New_item Varchar 255 Data item yang baru
45 New_pagu Double Data pagu yang baru
46 New_volume_kegiatan Decimal 9,0 Data volume kegiatan yang
baru
47 New_satuan_kegiatan Char 5 Data satuan kegiatan yang
baru
48 New_harga_satuan Double - Data harga satuan yang baru
49 Selisih_pagu double - Data selisih pagu
94
50 Status_edit Int 11 Isi dari Status edit
51 Create_at Date time - Tanggal dibuatnya komentar
52 Update_at Date time - Tanggal dilakukannya edit
data
f. Nama Tabel : revisi_documents
Primary Key : header_id
Foreign Key : -
Description : untuk data revisi documents
Tabel 4. 23 Tabel revisi_documents
No Field Tipe Data Length Keterangan
1 Header_id Varchar 50 Atribut yang merupakan kunci utama
pada tabel revisi document
2 Document_id Int 11 Kode unik untuk document
g. Nama Tabel : revisi_header
Primary Key : id
Foreign Key : -
Description : untuk data revisi header
Tabel 4. 24 Tabel revisi_header
No Field Tipe Data Length Keterangan
1 Id Varchar
255 Atribut yang merupakan kunci
utama pada tabel revisi header
2 Tahun Varchar 4 Isi data tahun
3 Kode_department Varchar 3 Kode department
4 Kode_unit_kerja Varchar 2 Kode unik unit kerja
5 Kode_program Varchar 2 Kode unik program
6 Kode_Satuan_kerja Varchar 6 Kode unik satuan kerja
7 Kode_mak Varchar 255 Kode unik mak
8 Department Varchar 255 Isi data department
9 Unit_kerja Varchar 255 Isi data unit kerja
10 Satuan_kerja Varchar 255 Isi data satuan kerja
11 Program Varchar 255 Isi data program
12 Revisi Double - Isi data revisi
95
13 Status Varchar 20 Isi data status
14 Roles Varchar 50 Isi data roles
15 Pic_initiator Varchar
50 Isi data bagian penanggung
jawab initator
16 Pic_args Varchar
50 Isi data bagian penanggung
jawab
17 Create_at Date time - Tanggal dibuatnya komentar
18 Update_at Date time - Tanggal dilakukannya edit data
h. Nama Tabel : Satker
Primary Key : kode_satuan_kerja
Foreign Key : -
Description : untuk data satker
Tabel 4. 25 Tabel Satker
No Field Tipe Data Length Keterangan
1 Kode_satuan_kerja Varchar 255 Atribut yang merupakan kunci
utama pada tabel satker
2 Satuan_kerja Varchar 255 Atribut untuk berisikan data satuan
kerja
3 Create_at Timestamp - Tanggal dibuatnya komentar
4 Update_at Timestamp - Tanggal dilakukannya edit data
i. Nama Tabel : User
Primary Key : id
Foreign Key : -
Description : untuk data user
Tabel 4. 26 Tabel User
No Field Tipe Data Length Keterangan
1 Id Int 10 Atribut yang merupakan kunci
utama pada tabel user
2 Fullname Varchar 255 Username Pengguna
3 Email Varchar 255 Emal pengguna
4 Password Varchar 255 Kata sandi pengguna
5 Permissions Text Data status pengguna
96
6 Last_login Timestamp 1000 Keterangan terakhir kali masuk
kedalam sistem
Create_at Timestamp - Tanggal dibuatnya komentar
Update_at Timestamp - Tanggal dilakukannya edit data
j. Nama Tabel : role_users
Primary Key : id
Foreign Key : -
Description : untuk data role user
Tabel 4. 27 Tabel role_users
No Field Tipe Data Length Keterangan
1 User_id Int 10 Atribut yang merupakan kunci
utama pada tabel role user
2 Role_id Int 10 Atribut untuk mengetahui role
id user
3 Create_at Timestamp - Tanggal dibuatnya komentar
4 Update_at Timestamp - Tanggal dilakukannya edit data
4.2.4.2 Sequence Diagram
1. Sequence Diagram “Login”
Berikut ini merupakan sequence diagram yang terlihat pada gambar
4.27 yang akan menceritakan urutan kerja user pada suatu sistem. Hal
pertama yang seharusnya dilakukan yaitu memasukkan username dan
password. Maka sistem akan memvalidasi username dan password
tersebut. Jika kombinasinya benar maka sistem akan menampilkan
tampilan dashboard.
97
Gambar 4. 17 Sequence Diagram Login
2. Sequence Diagram “Data User”
Diagram dibawah ini menggambarkan ketika administrator
melakukan manage data pada data user yang terdiri dari create, update,
read, delete data.
Gambar 4. 18 Sequence Diagram Data User
98
3. Sequence Diagram “Arsip Data Revisi”
Diagram dibawah ini menggambarkan ketika user membuka detail
data revisi anggaran, untuk mengetahui alur proses yang sudah sampai
dimana kemudian dapat memberikan komentar pada dokumen tersebut.
Gambar 4. 19 Sequence Diagram Arsip Data Revisi
99
4. Sequence Diagram “Proses Baru”
Gambar 4. 20 Sequence Diagram Proses Baru
100
Pada gambar 4.20 diagram yang menggambarkan ketika eselon 2
melakukan proses baru dalam pengajuan revisi anggaran.
5. Sequence Diagram “Tugas”
Pada gambar dibawah ini 4.21 menggambarkan eselon 1, supervisor
1, supervisor 2, supervisor 3, supervisor 4 masuk ke menu tugas untuk
mengetahui dokumen dan data mana saja yang saat itu sedang dikerjakan
sehingga dapat mengetahui progress dari proses dokumen dan data revisi
kegiatan.
Gambar 4. 21 Sequence Diagram Proses Baru
101
6. Sequence Diagram “Laporan”
Sequence diagram laporan menggambarkan ketika keseluruhan user
dapat mengetahui laporan pengajuan revisi anggaran dengan cara meng
export data yang telah tersedia oleh sistem revisi anggaran
Gambar 4. 22 Sequence Diagram Laporan
7. Sequence Diagram “Panduan”
Pada gambar 4.23 menggambarkan keseluruhan user mendapatkan
informasi mengenai panduan dalam penggunaan sistem revisi anggaran
yang telah disediakan didalam sistem pada menu laporan panduan aplikasi.
102
Gambar 4. 23 Sequence Diagram Panduan
8. Sequence Diagram “Logout”
Diagram ini menjelaskan pada saat user keluar dari sistem. Saat
pengguna memilih menu account akan menampilkan halaman dengan
button logout dan akan menghasilkan pesan logout berhasil.
Gambar 4. 24 Sequence Diagram Logout
103
4.3 Perancangan Graphic User Interface
Untuk memudahkan dalam pembangunan Sistem Revisi Anggaran
maka terdapat suatu tahapan yang harus dilakukan yaitu membuat tampilan
rancangan antar muka yang diantaranya sebagai berikut :
1. Halaman Login
Login merupakan awal bagi seluruh pengguna sistem
untuk dapat masuk ke dalam sistem dengan terlebih dahulu
mengisi username dan password. Jika username dan password
benar maka akan tampil halaman awal berupa halaman
dashboard yang di tampilkan sesuai dengan jabatannya masing-
masing yaitu administrator, supervisior 1, supervisior 2,
supervisior 3, supervisior 4, eselon 1, eselon 2.
Gambar 4. 25 Halaman Login
104
2. Halaman Dashboard
Halaman dashboard atau halaman utama merupakan
halaman awal bagi semua penggunan sistem untuk masuk ke
dalam sistem setelah melewati login, halaman ini dapat diakses
oleh seluruh pengguna sistem.
Gambar 4. 26 Halaman dashboard
3. Halaman Proses Baru 1
Halaman proses baru hanya dapat dia akses oleh eselon 2.
Terdapat tombol pilihan tahun dan program yang masing-masing
didapatkan dari database setelah melakukan klik tombol proses
maka akan menampilkan data yang dibutuhkan.
105
Gambar 4. 27 Halaman proses baru 1
4. Halaman Proses Baru 2
Sama seperti halaman proses baru 1 pada halaman proses
baru 2 tidak bersifat publik sehingga hanya eselon 2 saja yang dapat
mengaksesnya. Menu ini untuk mengisi data revisi anggaran yang
akan di update.
Gambar 4. 28 Halaman proses baru 2
106
5. Halaman Proses Baru 3
Halaman form proses baru 3 merupakan tampilan form
setelah user memilih tombol edit pada setiap halaman proses baru 2,
form ini berfungsi untuk memasukkan data pendukung revisi
anggaran yang biasanya berbentuk format file dokumen.
Gambar 4. 29 Halaman proses baru 3
6. Halaman Tugas
Pada halaman tugas ini terdapat list data tugas yang dapat di
manage ke proses berikutnya, masing-masing list memiliki tampilan
yang hampir seragam dalam tata letak untuk fungsi proses, alur,
komentar, namun antar jenis halaman tersebut memiliki hak akses
yan berbeda- beda dan hanya dapat diakses oleh user.
107
Gambar 4. 30 Halaman tugas
7. Halaman Alur
Halaman menu alur untuk memberikan informasi kepada
user terkait riwayat dan status proses pengajuan revisi anggaran.
Sehingga memudahkan user untuk mengetahui status terakhir
dokumen dan alur proses dokumen yang akan di revisi.
108
Gambar 4. 31 Halaman alur
8. Halaman Detail 1
Halaman detail 1 untuk memberikan informasi kepada user
terkait aktivitas akun yang melakukan revisi anggaran. Halaman
ditampilkan setelah klik tombol detail pada list data yang dipilih.
Gambar 4. 32 Halaman detail 1
109
9. Halaman Detail 2
Halaman detail 2 untuk memberikan informasi secara detail
kepada user terkait aktivitas dokumen revisi anggaran. Menjelaskan
dokumen secara detail karena data yang ditampilkan mencakup kode
mak, tanggal,namadokumen, total revsi, PIC, dan status dokumen.
Gambar 4. 33 Halaman detail 2
10. Halaman Detail 3
Halaman detail 3 untuk memberikan informasi secara detail
kepada user terkait data dukung yang telah di masukkan ke dalam
system. Pada halaman ini berisi data informasi tanggal upload, jenis
file, keterangan serta file yang dilampirkan.
110
Gambar 4. 34 Halaman detail 3
11. Halaman Detail 4
Halaman detail 4 untuk memberikan informasi kepada user
mengenai isi komentar yang telah ditulis oleh user lainnya.
Informasi yang diperoleh dapat digunakan sebagai acuan penentu
tahap proses revisi angguran selanjutnya, sehingga meningkatkan
komunikasi antar eselon dan supervisor serta menimimalisir
kesalahan pada saat revisi anggaran dilakukan.
111
Gambar 4. 35 Halaman detail 4
12. Halaman Komentar
Halaman komentar untuk memberikan komentar berupa
informasi terhadap dokumen atau data yang dilampirkan kepada
user. Sehingga user akan mengetahui jika terdapat kekurangan atau
kelebihan pada data dan dokumen yang dilampirkan.
Gambar 4. 36 Halaman komentar
112
13. Halaman Laporan
Halaman menu form laporan merupakan menu yang dapat
diakses oleh seluruh users untuk memberikan informasi terkait
laporan sistem revisi anggaran.
Gambar 4. 37 Halaman menu form laporan
14. Halaman List Data
Halaman list data untuk memberikan informasi terkait arsip
data revisi. Data yang ditampilkan yaitu data revisi anggaran yang
sedang diproses serta yang sudah selesai.
113
Gambar 4. 38 Halaman list data
15. Halaman Panduan
Halaman panduan berisi informasi panduan dalam
menggunakan sistem revisi anggaran, seluruh user dapat mengakses
halaman panduan. Panduan dilengkapi dengan cara
menggunakannya, penjelasan serta menginformasikan akses bagi
pengguna sistem. Selain itu pula memberikan informasi terkait
requirement personal computer yang dapat menunjang jalan nya
sistem revisi anggaran.
114
Gambar 4. 39 Halaman panduan
16. Halaman Proses 1
Halaman proses 1 menu untuk memberikan status disetujui
pada dokumen pengajuan revisi. Jika data dan dokumen telah selesai
diproses dan dinyatakan sudah benar maka pada halaman ini
dokumen tersebut dapat diberikan status disetujui dengan cara klik
tombol simpan.
115
Gambar 4. 40 Halaman proses 1
17. Halaman Proses 2
Sedangkan pada halaman proses 2 menu untuk memberikan
status dikembalikan jika dokumen pengajuan revisi belum memenuh
persyaratan dengan cara memberikan alasan di kolom alasan
pengembalian selanjutkan klik tombol simpan, maka data akan
tersimpan.
116
Gambar 4. 41 Halaman proses 2
4.4 Implementasi Algoritma Blowfish
Penerapan Enkripsi Blowfish ini dilakukan secara otomatis bersamaan dengan
proses meng-upload dokumen data dukung, dengan menggunakan Key yang terdiri
dari string yang ditentukan system. Untuk lebih memahami proses enkripsi pada
algoritma blowfish, maka penulis membuat contoh, perhitungan manual yang
terjadi pada proses enkripsi. Dalam hal ini, penulis menggunakan parameter sebagai
berikut :
Plaintext = UPI YPTK
Password = 2905
Langkah perhitungan manual yang penulis lakukan, yaitu sebagai berikut :
1. Inisialisasi P-Array (P0, P1, ..., P17) masing-masing 32 bit, seperti tabel
4.28.
117
Tabel 4. 28 Inisialisasi P-Array
P-array Hexa Konversi Biner (32 bit)
P0 243F6A88 00100100 00111111
01101010 10001000
P1 85A308D3 10000101 10100011
00001000 11010011
P2 13198A2E 00010011 00011001
10001010 00101110
P3 3707344 00000011 01110000
01110011 01000100
P4 A4093822 10100100 00001001
00111000 00100010
P5 299F31D0 00101001 10011111
00110001 11010000
P6 82EFA98 00001000 00101110
11111010 10011000
P7 EC4E6C89 11101100 01001110
01101100 10001001
P8 452821E6 01000101 00101000
00100001 11100110
P9 38D01377 00111000 11010000
00010011 01110111
P10 BE5466CF 10111110 01010100
01100110 11001111
P11 34E90C6C 00110100 11101001
00001100 01101100
P12 C0AC29B7 11000000 10101100
00101001 10110111
P13 C97C50DD 11001001 01111100
01010000 11011101
P14 3F84D5B5 00111111 10000100
11010101 10110101
118
P15 B5470917 10110101 01000111
00001001 00010111
P16 9216D5D9 10010010 00010110
11010101 11011001
P17 8979FB1B 10001001 01111001
11111011 00011011
2. Inisialisasi S-Array yang berjumlah masing-masing 255 dalam
bentuk hexadecimal yang kemudian dikonversi ke biner, seperti
tabel 4.29.
Tabel 4. 29 Inisialisasi S-Array
S-Array Hexa Konversi Biner
S1,0
...
S1,255
D1310BA6
6E85076A
11010001 00110001
00001011 10100110
01101110 10000101
00000111 01101010
S2,0
...
S2,255
4B7A70E9
DB83ADF7
01001011 01111010
01110000 11101001
11011011 10000011
10101101 11110111
S3,0
...
S3,255
E93D5A68
406000E0
11101001 00111101
01011010 01101000
01000000 01100000
00000000 11100000
119
S4,0
...
S4,255
3A39CE37
3AC372E6
00111010 00111001
11001110 00110111
00111010 11000011
01110010 11100110
3. Plaintext = UPI YPTK
Tabel 4. 30 Plainteks
Karakter ASCI
I
(Hex
a)
Biner
U 55 01010101
P 50 01010000
I 49 01001001
<space> 20 00100000
Y 59 01011001
P 50 01010000
T 54 01010100
K 4B 01001011
4. Kemudian Plaintext dibagi menjadi 2 bagian XL dan XR menjadi :
XL = 01010101 01010000 01001001 00100000
XR = 01011001 01010000 01010100 01001011
5. Pembangkitan Sub Kunci :
Kunci : 2905
Karakter ASCII (Hexa) Biner
2 32 00110010
9 39 00111001
0 30 00110000
5 35 00110101
120
Biner : 00110010 00111001 00110000 00110101
a. SubKunci Untuk Iterasi Pertama :
P0 = P0 XOR Kunci
P0 = 00100100 00111111 01101010 10001000 XOR
00110010 00111001 00110000 00110101
P0 = 00010110 00000110 01011010 10111111
b. SubKunci untuk iterasi kedua :
P1 = P1 XOR P0
P1 = 10000101 10100011 00001000 11010011 XOR
00010110 00000110 01011010 10111111
P1 = 10010011 10100101 01010010 01101100
6. Dalam hal ini penulis, hanya melakukan satu iterasi, dikarenakan
total iterasi proses enkripsi adalah 16 putaran.
a. Untuk iterasi pertama i = 0 yaitu :
XL = XL XOR P0
XL = 01010101 01010000 01001001 00100000 XOR
00010110 00000110 01011010 10111111
XL = 01000011 01010110 00010011 10011111
Fungsi F didapat dari :
XL dibagi menjadi 4 (a, b, c, d) masing-masing 8 bit =
a = 01000011
b = 01010110
c = 00010011
121
d = 10011111
Fungsi F : F(XL) = (((S0.a + S1.b mod 232) XOR S2, c) +
S3,d mod 232)
S0.a + S1.b mod 232
= (11010001 00110001 00001011 10100110 . 01000011)
+ (01001011 01111010 01110000 11101001. 01010110)
mod 232
=(11011010111111110101100000110001110010+110010
1011011001000011110111001000110) mod 232
= 00011010 11110111 11111010 10111000
XOR S2.c = 00011010 11110111 11111010 10111000
XOR (11101001 00111101 01011010 01101000.
11100100)
= 00011010 11110111 11111010 10111000 XOR
1100111110111010101001001000010010100000
= 11001111 10100000 01010011 01111110 00011000 +
S3.d mod 232
= (11001111 10100000 01010011 01111110 00011000 +
(00111010 00111001 11001110 00110111. 10011111))
mod 232
122
= (11001111 10100000 01010011 01111110 00011000 +
10010000101001111001110001010000101001) mod 232
=11001010 00111010 10010010 01000001
F(XL) = 11001010 00111010 10010010 01000001
XR = F(XL) XOR XR
XR = 11001010 00111010 10010010 01000001 XOR
10010001 01111100 00111001 00111100
XR = 01011011 01000110 10101011 01111101
Menukar Nilai XL dan XR :
XL = XR ; XR = XL
XL = 01011011 01000110 10101011 01111101;
XR = 01000011 01010110 00010011 10011111
7. Setelah melakukan 16 iterasi, maka akan menghasilkan nilai baru
XL dan XR masing- masing 32 bit. Tukar kembali XL dan XR.
Setelah itu XOR-kan nilai XL dan XR : XR = XR
XOR P16 dan XL = XL XOR P17
8. Kemudian XL dan XR digabungkan sehingga menjadi 64 bit.
9. Nilai biner tersebut di konversikan ke dalam kode ASCII sehingga
menghasilkan ciphertext yaitu : Ü/*œ|9‹
123
Sedangkan dalam pengimplementasian di dalam sistem, penulis
menggunakan bahasa pemrograman PHP (Personal Home Page) dan Framework
Laravel. Berikut adalah kode yang digunakan dalam implementasi algoritma
blowfish. Function pertama yang digunakan adalah PostTaskDataDukung pada
Controller ApplicationController.
public function postTasksDataDukung($header_id)
{
$request = request()->except('MAX_FILE_SIZE','_token','file_repository','check_user');
$getFileData = request()->file('file_repository');
if (isset($getFileData)) {
foreach ($getFileData as $data)
{
$fileinfo = [
'title' => $data->getClientOriginalName(),
'mime' => $data->getClientMimeType(),
'size' => $data->getSize(),
'type' => $request['type'],
'description' => $request['description'],
'owner' => Sentinel::getUser()->id
];
$file = $data->move('File_Public', $data->getClientOriginalName());
$fileinfo['filepath'] = $file;
$waktu_mulai = microtime(true);
$repo = New DocumentRepository();
$encrypt = $repo->blowfish_encrypt($file);
if($encrypt == "true"){
$waktu_selesai = microtime(true);
$waktu_proses = $waktu_selesai - $waktu_mulai;
$algoritma = [
'filename' => $fileinfo['title'],
'size_before' => $fileinfo['size'],
'size_after' => $file->getSize(),
'time' => $waktu_proses
];
RevisiHeader::find($header_id)->documents()->save(Document::create($fileinfo));
Algoritma::create($algoritma);
}else{
print_r("File Kosong");die();
}
}
}
if ($getFileData) {
return redirect(route('revision.applications.tasks.datadukung', $header_id));
} else {
return 'gagal upload file';
}
}
124
Di dalam function ini terdapat beberapa langkah yaitu:
1. Mengambil informasi dokumen dari form input, yaitu pada kode:
$fileinfo = [
'title' => $data->getClientOriginalName(),
'mime' => $data->getClientMimeType(),
'size' => $data->getSize(),
'type' => $request['type'],
'description' => $request['description'],
'owner' => Sentinel::getUser()->id
];.
2. upload dokumen ke dalam foder “File Public” di dalam server aplikasi,
yaitu pada kode:
$file = $data->move('File_Public', $data->getClientOriginalName());.
3. Menyimpan informasi dokumen ke dalam variabel “$fileinfo”, yaitu
pada kode:
$fileinfo['filepath'] = $file;.
4. Menyimpan waktu mulai sebelum file dienkripsi, yaitu pada kode:
$waktu_mulai = microtime(true);.
5. Mengirimkan informasi dokumen ke function blowfish_encrypt di
dalam Class DocumentRepository untuk dilakukan proses enkripsi
dokumen, yaitu pada kode:
$repo = New DocumentRepository();
$encrypt = $repo->blowfish_encrypt($file);.
6. Jika hasil enkripsi sama dengan true, maka akan dilakukan
penyimpanan ke dalam database terkait informasi dokumen, dan proses
enkripsi, tapi jika hasil enkripsi sama dengan false maka sistem akan
menginformasikan bahwa isi dokumen kosong, yaitu pada kode:
125
if($encrypt == "true"){
$waktu_selesai = microtime(true);
$waktu_proses = $waktu_selesai - $waktu_mulai;
$algoritma = [
'filename' => $fileinfo['title'],
'size_before' => $fileinfo['size'],
'size_after' => $file->getSize(),
'time' => $waktu_proses
];
RevisiHeader::find($header_id)->documents()->save(Document::create($fileinfo));
Algoritma::create($algoritma);
}else{
print_r("File Kosong");die();
}.
Untuk proses enkripsi dapat dilihat pada function blowfish_encrypt pada
Class Document Repository dibawah.
Di dalam function ini terdapat beberapa langkah yaitu:
1. Inisialisasi kunci enkripsi, dalam hal ini penulis tidak menggunakan
plainteks untuk kunci enkripsi melainkan hasil dari encoding
(penyandian) base64. Penulis juga menggunakan 1 kunci untuk semua
pengguna di dalam sistem, karena dokumen yang akan dienkripsi dapat
diakses oleh semua user di dalam sistem, dapat dilihat pada kode:
public function blowfish_encrypt($files){
$key = 'amFrYXJ0YTIyMDI5NA==';
$msg = file_get_contents($files);
$cipher = new Blowfish();
$cipher->setKey($key);
if($msg != null){
$msg_encrypted = $cipher->encrypt($msg);
if($msg_encrypted != null){
$file = fopen($files, 'wb');
fwrite($file, $msg_encrypted);
fclose($file);
return "true";
}else{
return "false";
}
}else{
return "false";
}
}
126
$key = 'amFrYXJ0YTIyMDI5NA==';.
2. Mengambil isi konten dari dokumen yang telah diupload, dapat dilihat
pada kode: $msg = file_get_contents($files);
3. Mengirimkan kunci ke dalam func setkey pada Class Blowfish, dapat
dilihat pada kode:
$cipher = new Blowfish();
$cipher->setKey($key);
4. Memvalidasi isi konten dokumen tidak kosong, jika konten tidak kosong
maka akan dienkripsi jika kosong maka function akan selesai dan
memberikan hasil false, dapat dilihat pada kode:
if($msg != null){
}else{
return "false";
}
5. Mengirimkan isi konten dokumen untuk dienkripsi ke function encrypt
pada Class Blowfish, dapat dilihat pada kode:
$msg_encrypted = $cipher->encrypt($msg);
6. Memvalidasi hasil enkripsi, jika hasil tidak kosong maka akan
dilanjutkan proses mengganti isi konten dokumen dengan hasil enkripsi,
jika kosong maka function akan selesai dan memberikan hasil false, dapat
dilihat pada kode:
if($msg_encrypted != null){
7. Membuka dokumen yang telah diupload, dapat dilihat pada kode:
$file = fopen($files, 'wb');
8. Mengganti isi konten dokumen dengan hasil enkripsi, dapat dilihat pada
kode:
fwrite($file, $msg_encrypted);
127
9. Menutup dokumen dan memberikan hasil true, dapat dilihat pada kode:
fclose($file);
return "true";
Dari implementasi pada sistem seperti yang telah dijelaskan sebelumnya,
pembaca dapat melihat hasil enkripsi file dan hasil pengujiannya pada bab 5.
128
BAB V
HASIL DAN PEMBAHASAN
5.1 Hasil Tampilan User Interface
5.1.1 Desain Interface Login
Sebelum pengguna dapat mengakses modul-modul yang ada di
Sistem Revisi Anggaran, pengguna wajib login ke dalam aplikasi.
Gambar 5. 1 Desain Interface Login
129
5.1.2 Desain Interface Dashboard
Gambar 5. 2 Interface Dashboard
Setelah login pengguna berhasil, halaman dashboard akan muncul.
Halaman dashboard merupakan halaman utama yang muncul ketika
pengguna masuk ke dalam aplikasi. Adapun pada halaman dashboard
pengguna dapat melihat gambar diagram jumlah revisi satuan kerja
tahun anggaran pertahun dari satuan kerja.
5.1.3 Desain Interface Arsip Data Revisi (List Data Satuan Kerja)
Pada Arsip Data Revisi pengguna dapat melihat arsip data revisi
keseluruhan revisi yang telah di buat berdasarkan list data satuan
kerja.
130
Gambar 5. 3 Interface Arsip Data Revisi
5.1.4 Desain Interface Arsip Data Revisi (List Pengajuan Revisi)
Gambar 5. 4 Interface Arsip Data Revisi
Pada Arsip Data Revisi pengguna dapat melihat arsip data revisi
keseluruhan revisi yang telah di buat berdasarkan list pengajuan
revisi.
131
5.1.5 Desain Interface Detail
Jika ingin melihat riwayat pengajuan revisi yag telah di input
kedalam system, pengguna dapat menekan tombol detail, maka akan
muncul detail seperti gambar 5.5 dibawah ini.
5.1.6 Desain Interface Alur
Gambar 5. 6 Interface Alur
Gambar 5. 5 Interface Detail
132
Jika pengguna ingin melihat alur proses revisi pengajuan maka dapat
menggunakan tombol Alur dan status revisi sudah pada tahapan apa
saja. Maka akan tampil seperti gambar 5.6 diatas.
5.1.7 Desain Interface Komentar
Gambar 5. 7 Interface Komentar
Pengguna dapat melakukan melihat komentar terhadap pengajuan
tersebut dengan klik tombol komentar maka muncul form komentar
seperti gambar 5.7.
5.1.8 Desain Interface Proses Baru
Pada menu Proses Baru pengguna dapat melakukan revisi pengajuan
dalam system. Pada tampilan di atas, berisikan form pengajuan revisi
kegiatan yang terdiri dari Tahun dan Program yang dapat di pilih
sesuai daftar yang ada dalam list pilihan tahun dan program.
133
Gambar 5. 8 Interface Proses Baru
5.1.9 Desain Interface Proses Merubah Anggaran
Gambar 5. 9 Interface Proses Merubah Anggaran
5.1.10 Desain Interface Upload Data Dukung
Sub Menu Upload Data Dukung berfungsi untuk memasukan data
pendukung yang di butuhkan dalam proses pengajuan jika di
perlukan. Input data pendukung dapat menggunakan form input
seperti gambar 5.10.
134
Gambar 5. 10 Interface Upload data dukung
Pada form input di atas berupa Jenis File yang terdiri dari
Surat Usulan, TOR dan RAB serta field keterangan data dukung.
Pengguna diharuskan meng-upload minimal 1 file, lalu tekan tombol
Save untuk simpan data.
5.1.11 Desain Interface Tugas
Gambar 5. 11 Interface Tugas
135
Pada menu tugas berfungsi untuk untuk menindaklanjuti revisi atau
mengembalikan berdasarkan Tahun, Kode Output, Rentan Tanggal,
dan semua data pengajuan seperti gambar 5.11.
Seperti yang di lalukan pada Proses Pengajuan, pada modul Tugas
memiliki fitur yaitu Proses, Alur, dan Komentar. Seperti gambar di
bawah ini:
Gambar 5. 12 Tombol Action
1. Proses berfungsi menjalankan proses Pengajuan.
2. Pilih “Disetujui” jika untuk melanjutkan ke proses selanjutnya atau
di kembalikan jika pengajuan revisi di tolak.
3. Save
Pada Proses dapat kolom komentar yang berfungsi untuk
memberikan alasan terkait proses pengajuan jika ditolak.
136
5.1.12 Desain Interface Proses
Gambar 5. 13 Interface Proses
5.1.13 Desain Interface Laporan
Gambar 5. 14 Interface Laporan
137
5.2 Analisa Efisiensi Waktu
Pada tahapan ini, penulis akan membagi menjadi 3 tahapan yaitu analisa
efisiensi waktu sebelum menggunakan sistem, setelah menggunakan sistem
dan perbandingan efisiensi diantara keduanya.
5.2.1 Analisa Efisiensi Waktu Sebelum Menggunakan Sistem
Berdasarkan hasil wawancara dengan Pak Adin Bondar selaku
Kepala Bagian Perencanaan bahwa proses yang dibutuhkan untuk
pengajuan revisi hingga selesai paling cepat 41 hari. Namun jika
terdapat kendala terutama pada proses verifikasi dan persetujuan,
maka waktu yang dibutuhkan hingga pengajuan revisi anggaran bisa
mencapai 3 bulan. Berikut adalah tabel hasil analisa efisiensi waktu
sebelum menggunakan sistem pada tiap proses.
Tabel 5. 1 Hasil Analisa Efisiensi Waktu sebelum menggunakan sistem
NO. Proses Waktu
1 Penyusunan Revisi Anggaran 3 Hari
2 Pembuatan Surat Usulan Revisi Anggaran 1 Hari
3 Penyusunan Lampiran Data Dukung Revisi Anggaran 1 Hari
4 Pengajuan Surat Usulan & Lampiran Revisi Anggaran 1 Hari
5 Verifikasi dan Persetujuan Usulan (Eselon 1) 7 Hari
6 Verifikasi dan Persetujuan Usulan (Supervisor 1) 7 Hari
7 Verifikasi dan Persetujuan Usulan (Supervisor 2) 7 Hari
8 Verifikasi dan Persetujuan Usulan (Supervisor 3) 7 Hari
9 Verifikasi dan Persetujuan Usulan (Supervisor 4) 7 Hari
Total 41 Hari
Dari tabel 5.1 dapat disimpulkan bahwa untuk satu kali pengajuan
revisi anggaran dibutuhkan waktu yang sangat lama antara 41 hari
138
hingga 3 bulan, ini juga yang melandasi diperlukannya sistem untuk
mengefisiensikan waktu proses pengajuan revisi anggaran.
5.2.2 Analisa Efisiensi Waktu Sesudah Menggunakan Sistem
Setelah diterapkannya sistem revisi anggaran berbasis online,
pengguna dapat me-monitoring setiap proses pada pengajuan revisi
anggaran, dapat melihat proses tersebut ada di tahap apa dan melihat
waktu pemrosesannya, seperti pada gambar 5.15 di bawah.
Gambar 5. 15 Alur Proses Sistem
Dari gambar 5.15 dapat disimpulkan bahwa setiap proses pada
pengajuan revisi anggaran membutuhkan waktu 1 hari dan total waktu
hingga proses pengajuan selesai 6 hari. Jika digambarkan dalam tabel
dapat dilihat pada tabel 5.2 di bawah.
139
Tabel 5. 2 Hasil Analisa Efisiensi Waktu Setelah Menggunakan Sistem
NO. Proses Waktu
1 Penyusunan Revisi Anggaran
1 Hari 2 Pembuatan Surat Usulan Revisi Anggaran
3 Penyusunan Lampiran Data Dukung Revisi Anggaran
4 Pengajuan Surat Usulan & Lampiran Revisi Anggaran
5 Verifikasi dan Persetujuan Usulan (Eselon 1) 1 Hari
6 Verifikasi dan Persetujuan Usulan (Supervisor 1) 1 Hari
7 Verifikasi dan Persetujuan Usulan (Supervisor 2) 1 Hari
8 Verifikasi dan Persetujuan Usulan (Supervisor 3) 1 Hari
9 Verifikasi dan Persetujuan Usulan (Supervisor 4) 1 Hari
Total 6 Hari
5.2.3 Perbandingan Efisiensi Waktu Sebelum dan Sesudah
Menggunakan Sistem
Dari pembahasan sebelumnya mengenai waktu proses sebelum dan
sesudah menggunakan sistem, dapat dibuat perbandingan waktu dan
selisih waktu antara sebelum dan sesudah menggunakan sistem.
Seperti pada tabel 5.3 dibawah.
Tabel 5. 3 Perbandingan Efisiensi Waktu Sebelum dan Sesudah
Menggunakan Sistem
NO. Proses Waktu
Manual Sistem
1 Penyusunan Revisi Anggaran 3 Hari
1 Hari 2 Pembuatan Surat Usulan Revisi Anggaran 1 Hari
3 Penyusunan Lampiran Data Dukung Revisi Anggaran 1 Hari
4 Pengajuan Surat Usulan & Lampiran Revisi Anggaran 1 Hari
5 Verifikasi dan Persetujuan Usulan (Eselon 1) 7 Hari 1 Hari
6 Verifikasi dan Persetujuan Usulan (Supervisor 1) 7 Hari 1 Hari
7 Verifikasi dan Persetujuan Usulan (Supervisor 2) 7 Hari 1 Hari
8 Verifikasi dan Persetujuan Usulan (Supervisor 3) 7 Hari 1 Hari
9 Verifikasi dan Persetujuan Usulan (Supervisor 4) 7 Hari 1 Hari
Total 41 Hari 6 Hari
140
Dari tabel 5.3 dapat dilihat bahwa sebelum menggunakan sistem
waktu yang dibutuhkan untuk sekali pengajuan revisi anggaran paling
cepat 41 hari sedangkan setelah menggunakan sistem hanya
membutuhkan waktu 6 hari. Hal ini bisa terjadi karena ada beberapa
proses manual yang dapat digabungkan menjadi 1 proses di dalam
sistem yaitu proses penyusunan revisi anggaran, pembuatan surat
usulan dan lampiran data dukung, sehingga dapat mempersingkat
waktu proses pengajuan revisi anggaran.
Sedangkan untuk waktu proses verifikasi dan persetujuan dapat
disingkat dari waktu 7 hari menjadi hanya 1 hari. Hal ini terjadi karena
sistem sudah berbasis online sehingga verifikator dapat memverifikasi
dan menyetujui pengajuan revisi anggaran tidak terhalang oleh waktu
dan tempat.
Dari pembahasan dan perbandingan diatas, dapat disimpulkan
bahwa sistem revisi anggaran dapat mengefisiensikan waktu
pengajuan revisi sebanyak 35 hari.
5.3 Pengujian (Testing)
Pada tahap pengujian dilakukan dengan mengunakan Blackbox Testing. Cara
pengujian dilakukan dengan menjalankan Sistem Revisi Anggaran dan melihat
apakah output yang dihasilkan sudah sesuai dengan hasil yang diharapkan. Terdapat
3 level pengujian sistem yang diterapkan yaitu Unit Testing, System Testing dan
User Acceptance Test (UAT).
141
5.3.1 Unit Testing
Unit Testing berfungsi untuk mengetahui apakah unit-unit kode
(class atau method) berjalan sesuai dengan yang diharapkan.
Pengujian unit testing dilakukan oleh penulis yang sekaligus juga
membuat sistem revisi anggaran. Unit testing dijalankan selama
proyek dibangun sampai pada tahapan pemeliharaan sistem . Unit
testing yang dipakai pada penelitian ini adalah library unit testing
Laravel. Berikut ini merupakan hasil pengujian unit testing dalam
bentuk tabel 5.1 :
Tabel 5. 4 Hasil Pengujian Unit Testing
No Test Case Hal yang
Diharapkan
Kegiatan Hasil Keterangan
1. Login key
Halaman
Dashboard
- Masuk
halaman
utama jika
berhasil login
atau memiliki
session login -
Kembali Key
halaman login
jika tidak
memiliki
session login
User
membuka
aplikasi
Sesuai
2. Tambah
Proses
baru
Data yang
ditambahkan
disimpanke
dalam
database
Memilih
tombol add
new proses
Sesuai
142
3. Tambah /
view arsip
data revisi
Menambahkan
/
Menampilkan
list data arsip
revisi dari
database
Memilih
menu arsip
data revisi
Sesuai
4. Tambah /
edit tugas
Data yang
ditambahkan
atau diubah
disimpan ke
dalam
database
Memilih
menu tugas
Sesuai
5. View
laporan
pengajuan
Menampilkan
halaman
laporan dari
database
Memilih
menu
laporan
pengajuan
Sesuai
6. View
panduan
aplikasi
Menampilkan
halaman
panduan
Memilih
menu
panduan
Sesuai
7. Tambah /
edit data
dukung
Data yang
ditampilkan
atau
ditambahkan
disimpan ke
dalam
database
Memilih
menu proses
baru,
kemudian ke
form upload
data dukung
Sesuai
8. View Alur Menampilkan
halaman
rwayat alur
dokumen dan
data
Memilih
tombol alur
Sesuai
9. Enkripsi
Document
Document
yang diupload
dienkripsi
menggunakan
blowfish.
Adanya
Kegiatan
Penambahan
data dukung
Sesuai
143
revisi
anggaran
10. Dekripsi
Document
Document
didekripsi
menggunakan
blowfish
Adanya
kegiatan
melihat
detail data
dukung
revisi
anggaran
dengan
melihat file
upload
Sesuai
11. Logout User keluar
dari sistem dan
kembali ke
halaman
utama
Memilih
tombol
logout
Sesuai
5.3.2 System Testing
System Testing berfungsi untuk mengetahui kinerja dari sistem
dilakukan pada saat aplikasi telah selesai agar dapat melihat performa
dari sistem yang dibangun. Penulis melakukan pengujian terhadap
waktu eksekusi aplikasi dan alokasi memori yang digunakan. Hasil
pengujian dapat kita lihat pada tabel 5.5.
Tabel 5. 5 Hasil Pengujian System Testing
Nama file Ukuran file
sebelum enkripsi (byte)
Ukuran file setelah
enkripsi (byte)
Penyimpanan yang
digunakan (byte)
waktu proses
(microsecond)
RAB.pdf 511,231 511,232 1 0.05467
TOR REVISI 9.doc 99,840 99,848 8 0.01822
Surat Usulan.pdf 858,368 858,376 8 0.03351
144
5.3.3 Hasil Pengujian Enkripsi Dokumen
Pengujian proses enkripsi dokumen dilakukan untuk mengetahui isi
dokumen sebelum dan sesudah dienkripsi. Adapun tipe dokumen yang
dienkripsi yaitu pdf, pengujian ini diharapkan isi dari dokumen
berhasil dienkripsi. Hasil dari pengujian dapat dilihat pada gambar
5.16.
Gambar 5. 16 Dokumen dibuka sebelum dienkripsi
145
Gambar 5. 17 Dokumen sebelum dienkripsi
Gambar 5. 18 Dokumen dibuka setelah dienkripsi
Gambar 5. 19 Dokumen setelah dienkripsi
146
5.3.4 UAT (User Acceptance Testing)
User Acceptance Testing berfungsi untuk mengetahui
tanggapan user terhadap sistem yang penulis implementasikan dan
dilakukan pengujiannya langsung di tempat penelitian. Penulis
menyediakan form yang berisi kondisi dan data pengujian, hasil yang
diharapkan, hasil yang terjadi, dan keterangan. Penguji akan mengisi
kolom hasil yang terjadi dengan pilihan Sesuai atau Tidak Sesuai, jika
penguji mengisi Tidak Sesuai maka harus ditambahkan keterangan
pada kolom keterangan. Berikut ini hasil pengujian UAT Sistem
Revisi Anggaran sebagai berikut :
Tabel pilihan jawaban UAT (User Acceptance Testing)
Tabel 5. 6 Tabel Pilihan Jawaban UAT
Sesuai
Tidak Sesuai
Tabel Pertanyaan UAT
Tabel 5. 7 Tabel Pertanyaan UAT
No Kondisi Menu Hasil yang diharapkan Hasil
yang
terjadi
Keterangan
1 Login -Login berhasil
-Menampilkan halaman
dashboard
-Masuk ke menu utama
147
2 Login dengan
email address
dan password
salah
-Tetap di halaman login
3 Tambah
proses baru,
upload file
pendukung,
edit dokumen
pengajuan
revisi kegiatan
Proses
baru
-Menampilkan halaman
pengajuan revisi kegiatan
-Menyimpan data kedalam
list arsip data revsi dan
menu tugas
4 Hapus Data
pengajuan
revisi kegiatan
Tugas -Mengahapus data
pengajuan revisi kegiatan
5 View Alur Tugas -Menampilkan riwayat
aktivitas dan status data
pengajuan revisi anggaran
6 Komentar Tugas -Menampilkan halaman
komentar
-Menyimpan isi komentar
7 Tambah data
user
Account -Data berhasil tersimpan ke
dalam database
-User yang baru di input
berhasil login ke dalam
sistem
8 Edit data user Account -Perubahan data di update di
database
9 Ganti
password
Account -Perubahan data di update di
database
-Password lama tidak bisa di
gunakan untuk login
kembali
148
10 Enkripsi File Proses
baru
-Data berhasil terenkripsi
dan tersimpan di server
-Isi file tidak dapat dilihat
oleh yang bukan
penerimanya
11 Deskripsi File Proses
baru
-Data berhasil didekripsi
dengan baik dan
menampilkan file asli
sebelum terenkripsi
149
BAB VI
PENUTUP
6.1 Kesimpulan
Setelah melalui serangkaian proses yang dimulai dari awal yaitu proses
analisis hingga sampai proses akhir yaitu pengujian sistem, maka dapat disimpulkan
beberapa hal sebagai berikut :
1. Sistem Revisi Anggaran yang dibangun ini menggunakan algoritma
dengan bahasa pemograman Personal Home Page (PHP) versi 7.1.2,
Database Server menggunakan MySQL Versi 5.5, Web Server yang
digunakan yaitu Apache Versi 2.4.26 serta coding tool menggunakan
Framework Laravel Versi 5.7 sehingga mampu menghasilkan aplikasi
yang dapat membantu proses revisi anggaran serta memberikan
informasi terkait pengajuan revisi anggaran secara cepat dan tepat.
2. Berdasarkan unit testing yang telah dilakukan bersama Perpustakaan
Nasional Republik Indonesia, Sistem telah berhasil menyimpan dan
mengamankan dokumen dan data terkait revisi anggaran milik
Perpustakaan Nasional Republik Indonesia serta mampu
mengefisiensikan waktu dalam proses revisi anggaran yang
sebelumnya membutuhkan waktu yang lama.
150
6.2 Saran
Dari hasil pembahasan pada pelaksanaan penelitian ini, maka saran yang
dapat digunakan sebagai bahan untuk mengembangkan sistem ini menjadi lebih
baik adalah sebagai berikut :
1. Sistem Revisi Anggaran ini dapat dikembangkan menjadi sistem yang
lebih interakif dan komunikatif terhadap user sehingga dapat diakses
kapanpun dan dimanapun dengan berbasis mobile.
2. Menggunakan tambahan algoritma lainnya untuk dapat mencakup data
yang lebih luas pada kegiatan operasional di Perpustakaan Nasional
Republik Indonesia untuk dapat memberikan hasil yang lebih
maksimal.
151
DAFTAR PUSTAKA
Buku Program Kerja Revisi Anggaran. (2018, November 15). Retrieved from
www.perpusnas.go.id
Buku Kebijakan dan Strategi Nasional Pengembangan EGoverment (2018,
Desember 25). Retrieved from www.kominfo.go.id
Faizal, Z. & Ari, A. (2017). Implementasi Kriptografi Dengan Algoritma Blowfish
dan Riverst Shamir Adleman (RSA) Untuk Proteksi File. Jakarta : Jurnal Ilmiah
FIFO
Husen. (2017). Sistem Informasi Manajemen Anggaran (Simangga) Perguruan
Tinggi Berbasis Web (Studi Kasus : Universitas Siliwangi). Jakarta : Jepin
Harahap. (2016). Introduction to Database Management System. Singapore :
Pearson Education
Harahap, dkk. (2018). Analisa Frekuensi Hasil Enkripsi Algoritma Blowfish
Terhadap Keamanan Informasi. Jurnal Teknologi dan Ilmu Komputer Prima
L Kenneth, E. & Julie, E. Kendall (2018), System Analysis and Design. Prentice
Hall : University California.
Kotler, dkk. (2015). Analize Urgency, Seriousness, Growth (USG). Wiley
Kurniawan (2017). Perancangan Formulir Elektronik Di Enkripsi Dengan Metode
Blowfish Pada Sistem Pendaftaran Online (Studi Kasus: Seleksi Mandiri
Universitas Tanjungpura). Program Studi Teknik Informatika Jurusan Teknik
Elektro Fakultas Teknik Universitas Tanjungpura.
Marwan. (2018). A Comparison of Cryptographic Alghorithms: DES, 3DES, AES,
RSA and Blowfish for Guessing Attacks Prevention. Malaysia : Symbiosis
Muhathir. (2018). Perbandingan Algoritma Blowfish Dan Twofish Untuk
Kriptografi File Gambar. Journal Of Informatics And Telecommunication
Engineering
Nugroho, B. (2015). Database Relasional Dengan Mysql. Yogyakarta: Andi
Publisher
152
UIN Syarif Hidayatullah Jakarta
Pressman.Roger, (2014). Seventh Edition Software Engineering. Mc Graw-Hill.
New York
Rosa, & Shalahuddin. (2014). Rekayasa Perangkat Lunak 3nd ed. Bandung:
Informatika.
Rosa, A. S., & Shalahuddin, M. (2014). Modul Pembelajaran Rekayasa Perangkat
Lunak. Bandung: Modula.
Sidik, (2015). Pra Processor Homepage. Surabaya: Gunung Agung
Sugiarti. Y. (2013). Analisis dan Perancangan UML (Unified Modeling Language)
Generate VB.6. Yogyakarta: Graha Ilmu
Sugiarti, Y. (2016). Metode Penelitian di Bidang Komputer dan Teknologi
Informasi. Banten.
Sugiarti, Y. (2017). Analisis dan perancangan UML. Yogyakarta: GRAHA ILMU.
Tuhumury. (2017). Konsep & Teori Sistem Operasi. Yogyakarta : Andi
UIN Syarif Hidayatullah Jakarta
LAMPIRAN
UIN Syarif Hidayatullah Jakarta
Wawancara
Hari/Tanggal : Senin, 5 November 2018
Narasumber : Dr. Adin Bondar, M.Si
Jabatan : Kepala Bagian Perencanaan
1. Assalammualaikum pak, maaf mengganggu sebelumnya bagaimana
keadaan anda hari ini?
Jawab:
“Alhamdulillah baik”
2. Saya ingin mengetahui bagaimana tata cara untuk revisi anggaran di
perpustakaan nasional?
Jawab:
“Proses awalnya, setiap satuan kerja mengusulkan revisi anggaran tahun
berjalan dan melampirkan data pendukung berupa surat usulan, TOR dan
RAB. Kemudian diserahkan ke Bagian Perencanaan, setelah itu akan
melalui proses verifikasi dan persetujuan dari pimpinan”
3. Kendala apa saja yang dihadapi dari tata cara yang berjalan saat ini ?
Jawab:
“Kalau kendala yang saya rasakan selama ini, yaitu masih menggunakan
hard copy atau paper based, sehingga pengarsipan dan keamanan data
kurang maksimal. Kemudian juga untuk proses pengajuan paling cepat 41
hari, malah bisa sampai 3 bulan, karena saat persetujuan oleh pimpinan,
pimpinan kita kadang ada kegiatan di luar kantor, jadi harus nunggu beliau
di kantor dulu baru bisa verifikasi datanya”
4. Siapa saja stakeholder yang terkait dalam proses revisi anggaran?
Jawab:
“Adapun yang terkait dalam proses revisi anggaran ini, yaitu 10 satuan
kerja, secretariat utama dan bagian perencanaan”
UIN Syarif Hidayatullah Jakarta
5. Poin-poin apa saja yang menjadikan penilaian dari kriteria anggaran
tersebut disetujui untuk dianggarkan?
Jawab:
“Yang pertama nilai total pagu anggaran kegiatan tidak boleh melebihi
anggaran awal, kemudian data pendukungnya seperti yang saya sebutkan
tadi, itu juga jadi dasar disetujuinya revisi anggaran.”
6. Menurut bapak, jika saya mengusulkan sistem terkomputerisasi terhadap
sistem revisi anggaran yang berbasis online untuk disesuaikan berdasarkan
tata cara penerapan dari pengajuan revisi anggaran, apakah diperlukan ?
Jawab:
“Ya sangat diperlukan, menurut saya dengan adanya sistem yang berbasis
online bisa memudahkan pimpinan kita untuk verifikasi data usulan revisi,
karena jadi bisa diakses dimana saja tidak harus di lingkungan kantor. Bisa
menoptimalkan pengarsipan data sehingga mengurangi paper based dan
terutama kemanan data juga bisa terjamin.”
7. Terimakasih pak, atas informasi dan waktu yang telah diberikan,
wassalamualaikum.
Jawab:
“Ya sama sama, semoga sukses”
UIN Syarif Hidayatullah Jakarta
UIN Syarif Hidayatullah Jakarta
UIN Syarif Hidayatullah Jakarta
UIN Syarif Hidayatullah Jakarta
UIN Syarif Hidayatullah Jakarta
UIN Syarif Hidayatullah Jakarta
KERANGKA ACUAN KERJA/TERM OF REFERENCE
Kementerian Negara/lembaga : Perpustakaan Nasional RI
Unit Eselon I : Deputi Bidang Pengembangan Bahan Pustaka dan Jasa
Informasi
Program : Pengembangan Perpustakaan
Hasil/Output : Pemustaka yang memanfaatkan Perpustakaan
Unit Eselon II/Satker : Pusat Jasa Perpustakaan dan Informasi
Kegiatan : Peningkatan Layanan Jasa Perpustakaan dan Informasi
Indikator Kinerja Kegiatan : Pemustaka yang memanfaatkan Perpustakaan
Satuan ukur dan Jenis keluaran : Pemustaka
Volume
Lokasi
:
:
2.060.573 Orang
Perpustakaan Nasional RI
Jl. Merdeka Selatan 11 jakarta
A. Latar Belakang
1. Dasar Hukum
Dasar Hukum yang mendasari pelaksanaan kegiatan ini adalah Undang-Undang
Republik Indonesia No. 43 Tahun 2007 tentang Perpustakaan:
a. Pasal 2 menyebutkan: Koleksi perpustakaan adalah semua informasi dalam
bentuk karya tulis, karya cetak, dan/atau karya rekam dalam berbagai media yang
mempunyai nilai pendidikan, yang dihimpun, diolah, dan dilayankan.
b. Pasal 3 menyebutkan : Koleksi nasional adalah semua karya tulis, karya cetak,
dan/atau karya rekam dalam berbagai media yang diterbitkan ataupun tidak
diterbitkan, baik yang berada di dalam maupun di luar negeri yang dimiliki oleh
perpustakaan di wilayah Negara Kesatuan Republik Indonesia.
c. Pasal 4 menyebutkan bahwa: Naskah kuno adalah semua dokumen tertulis yang
tidak dicetak atau tidak diperbanyak dengan cara lain, baik yang berada di dalam
negeri maupun di luar negeri yang berumur sekurang-kurangnya 50 (lima puluh)
tahun, dan yang mempunyai nilai penting bagi kebudayaan nasional, sejarah, dan
ilmu pengetahuan.
d. Pasal 5 menyebutkan bahwa: Perpustakaan Nasional adalah lembaga pemerintah
non kementerian (LPNK) yang melaksanakan tugas pemerintahan dalam bidang
perpustakaan yang berfungsi sebagai perpustakaan pembina, perpustakaan
rujukan, perpustakaan deposit, perpustakaan penelitian, perpustakaan pelestarian,
dan pusat jejaring perpustakaan, serta berkedudukan di ibukota negara.
e. Pasal 21 bab 3 ayat c menyebutkan bahwa Perpustakaan Nasional mempunyai
tugas melakukan promosi perpustakaan dan gemar membaca dalam rangka
mewujudkan masyarakat pembelajar sepanjang hayat;
f. Keputusan Kepala kepala Perpustakaan Nasional Nomor 03 Tahun 2001 tentang
Organisasi dan tata Kerja Perpustakaan Nasional Republik Indonesia;
g. Kepmenpan Nomor 81/1993 tentang Pedoman Tatalaksana Pelayanan Umum.
2. Gambaran Umum :
UIN Syarif Hidayatullah Jakarta
Sesuai dengan tugas dan fungsinya, Layanan Koleksi Umum mempunyai tugas
melaksanakan layanan koleksi umum dan meyelenggarakan fungsi pelaksanaan
koleksi umum dan rujukan serta pelaksanaan layanan terjemahan dan konsultasi
perpustakaan.
Undang-Undang Republik Indonesia No. 43 Tahun 2007 tentang Perpustakaan dalam
pembukaannya telah mengamanatkan bahwa sebagai salah satu upaya untuk
memajukan kebudayaan nasional, perpustakaan merupakan wahana pelestarian
kekayaan budaya bangsa. Demikian pula perpustakaan sebagai wahana belajar
sepanjang hayat mengembangkan potensi masyarakat agar menjadi manusia yang
beriman dan bertakwa kepada Tuhan Yang Maha Esa, berakhlak mulia, sehat, berilmu,
cakap, kreatif, mandiri dan menjadi warga negara yang demokratis serta bertanggung
jawab dalam mendukung penyelenggaraan pendidikan nasional. Undang-undang
tersebut juga menyebutkan bahwa dalam rangka meningkatkan kecerdasan kehidupan
bangsa, perlu ditumbuhkan budaya gemar membaca melalui pengembangan dan
pendayagunaan perpustakaan sebagai pusat sumber belajar masyarakat.
Dalam UU Perpustakaan pada pasal 4, disebutkan bahwa perpustakaan bertujuan
memberikan layanan kepada pemustaka, meningkatkan kegemaran membaca serta
memperluas wawasan dan pengetahuan untuk mencerdaskan kehidupan bangsa. Dan
Pasal 5 menjelaskan bahwa masyarakat mempunyai hak yang sama untuk memperoleh
layanan serta memanfaatkan dan mendayagunakan fasilitas perpustakaan. Masyarakat
di daerah terpencil, terisolasi atau terbelakang sebagai akibat faktor geografis berhak
memperoleh layanan perpustakaan secara khusus. Dalam Pasal 7 juga disebutkan
kewajiban pemerintah, antara lain menjamin ketersediaan layanan perpustakaan secara
merata di tanah air dan menggalakkan promosi gemar membaca serta memanfaatkan
perpustakaan.
Perpustakaan Nasional RI khususnya Pusat Jasa Perpustakaan dan Informasi pada
tahun 2017 akan mendapat gedung baru di Jalan Merdeka Selatan No. 11 Jakarta Pusat.
Gedung baru tersebut memiliki sarana dan prasarana ruangan yang disediakan untuk
dimanfaatkan oleh masyarakat umum secara gratis yang berfungsi untuk meningkatkan
pembudayaan kegemaran membaca masyarakat, dan melestarikan budaya nusantara.
Sebagai bentuk tanggungjawab Perpustakaan Nasional RI dalam rangka
memberdayakan koleksi Perpustakaan Nasional dan sebagai pusat rujukan nasional,
maka Kelompok Bidang Layanan Koleksi Umum melakukan kegiatan-kegiatan yang
menunjang layanan prima yang berbasis Smart Library.
Perpustakaan Nasional RI berharap merealisasikan menjadi fungsi Pusat Pendidikan
bagi masyarakat sesuai amanat UU 43 tahun 2007, yang akan menjadi semua fasilitas
Perpusnas dapat di akses dan di manfaatkan masyarakat umum sehingga nantinya
diharapkan Perpusnas akan menjadi Pusat Referensi Nasional, serta dalam upayanya
mendukung pemberdayaan perpustakaan di masyarakat dan pengembangan
pembudayaan kegemaran membaca.
Dalam rangka melaksanakan amanat UU tersebut, Perpustakaan Nasional RI
melaksanakan berbagai kegiatan baik di luar negeri, daerah maupun di pusat sebagai
salah satu upaya pemerintah untuk mendekatkan koleksi Perpustakaan Nasional RI ke
masyarakat. Kegiatan-kegiatan yang dilaksanakan adalah :
UIN Syarif Hidayatullah Jakarta
B. Penerima Manfaat
Penerima manfaat dari kegiatan yang menunjang layanan prima berbasis smart
library adalah masyarakat Indonesia dan juga masyarakat dunia.
C. Strategi Pencapaian Keluaran
1. Metode Pelaksanaan
Metode Pelaksanaan kegiatan ini adalah kombinasi antara swakelola dan
pelaksanaan oleh pihak ketiga.
2. Tahapan dan Waktu Pelaksanaan
Untuk rencana pekerjaan yang akan dilakukan pada tahun anggaran 2018,
pelaksanaannya diatur sebagai berikut, tahapannya:
1. Pameran Koleksi Perpustakaan Nasional di Ambon
1) Koordinasi dengan Kepala Dinas Arsip dan Perpustakaan Daerah Ambon serta
Kepala Dinas Pariwisata dan Budaya di Ambon.
Melakukan koordinasi dengan semua eselon II dan III yang ada di lingkungan
Kepala Dinas dan Staf Pameran untuk menentukan waktu pelaksanaan
Pameran dalam rangka Mengimplementasikan Ambon Sebagai Kota Musik
Dunia di tahun 2019.
2) Rapat Penentuan Susunan Panitia Pameran.
Rapat Penentuan Panitia Pelaksana Pameran dilakukan melalui Komunikasi
via Email dan Telepon.
3) Koordinasi dengan pihak ketiga.
Berkoordinasi dengan pihak ketiga yang akan mendesain tempat/lokasi yang
di adakan di Lapangan Merdeka Ambon
4) Pembuatan sarana promosi
Promosi pameran dilakukan melalui pencetakan Kaos Berlogo Perpustakaan
5) Persiapan pelaksanaan pameran
Pada tahap ini setiap petugas yang sudah ditetapkan sebagai panitia pameran
mempersiapkan bahan perpustakaan yang akan dipamerkan dan subjeknya
disesuaikan dengan tema pameran.
6) Pelaksanaan Pameran
Pameran Yang bertema Amboina Internasional Bamboo Music Festival 2018
yang dibuka oleh Bapak Hilmar Farid sebagai Dirjen Kebudayaan dan
Pariwisata di Ambon sebagai Kota Musik Dunia tahun 2019, serta di
meriahkan Festival Carnaval Budaya Nusantara yang di hadiri sekitar 1.500
orang selama 3 hari
7) Evaluasi Pameran
UIN Syarif Hidayatullah Jakarta
Hambatan dan permasalahan-permasalahan yang timbul selama pelaksanaan
kegiatan pameran dievaluasi oleh Penanggung jawab pameran dan panitia
sebagai acuan dalam penyempurnaan pelaksanaan kegiatan pameran
berikutnya.
Matriks Waktu Pelaksanaan Pameran di Ambon
Tahapan Kegiatan Bulan ke
1 2 3 4 5 6 7 8 9 10 11 12
Koordinasi dengan Kepala Dinas di
daerah serta panitia pameran
Membentuk susunan Panitia Pameran
Berkoordinasi dengan pihak ketiga
Penyebaran bahan promosi
Persiapan pelaksanaan
pameran
Pelaksanaan kegiatan pameran
Rapat Evaluasi kegiatan pameran
C. Kurun waktu pencapaian keluaran
Keluaran kegiatan tersebut harus dicapai secara terus menerus setiap satu tahun
anggaran.
Sebesar Rp 162.444.000,-
E. Biaya yang dibutuhkan
Untuk melaksanakan kegiatan ini dibutuhkan sebagaimana RAB terlampir.
Demikian Kerangka Acuan Kerja dibuat untuk dipergunakan sebagaimana mestinya.
Jakarta,
PLt.Kepala Pusat Jasa
Perpustakaan
dan Informasi
Drs. Yoyo Yahyono, M.Si
NIP 19631110 199103 1 001
UIN Syarif Hidayatullah Jakarta
Source Code
<?php namespace phpseclib\Crypt; class Blowfish extends Base { var $block_size = 8; var $cipher_name_mcrypt = 'blowfish'; var $cfb_init_len = 500; var $sbox0 = array( 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
UIN Syarif Hidayatullah Jakarta
0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a ); var $sbox1 = array( 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
UIN Syarif Hidayatullah Jakarta
0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7 ); var $sbox2 = array( 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
UIN Syarif Hidayatullah Jakarta
0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0 ); var $sbox3 = array( 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
UIN Syarif Hidayatullah Jakarta
0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6 ); var $parray = array( 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b ); var $bctx; var $kl; var $key_length = 16;
UIN Syarif Hidayatullah Jakarta
function setKeyLength($length) { if ($length < 32) { $this->key_length = 4; } elseif ($length > 448) { $this->key_length = 56; } else { $this->key_length = $length >> 3; } parent::setKeyLength($length); } function isValidEngine($engine) { if ($engine == self::ENGINE_OPENSSL) { if (version_compare(PHP_VERSION, '5.3.7') < 0 && $this->key_length != 16) { return false; } if ($this->key_length < 16) { return false; } $this->cipher_name_openssl_ecb = 'bf-ecb'; $this->cipher_name_openssl = 'bf-' . $this->_openssl_translate_mode(); } return parent::isValidEngine($engine); } function _setupKey() { if (isset($this->kl['key']) && $this->key === $this->kl['key']) { // already expanded return; } $this->kl = array('key' => $this->key); /* key-expanding p[] and S-Box building sb[] */ $this->bctx = array( 'p' => array(), 'sb' => array( $this->sbox0, $this->sbox1, $this->sbox2, $this->sbox3 ) ); // unpack binary string in unsigned chars $key = array_values(unpack('C*', $this->key)); $keyl = count($key); for ($j = 0, $i = 0; $i < 18; ++$i) { // xor P1 with the first 32-bits of the key, xor P2 with the second 32-bits ... for ($data = 0, $k = 0; $k < 4; ++$k) {
UIN Syarif Hidayatullah Jakarta
$data = ($data << 8) | $key[$j]; if (++$j >= $keyl) { $j = 0; } } $this->bctx['p'][] = $this->parray[$i] ^ $data; } // encrypt the zero-string, replace P1 and P2 with the encrypted data, // encrypt P3 and P4 with the new P1 and P2, do it with all P-array and subkeys $data = "\0\0\0\0\0\0\0\0"; for ($i = 0; $i < 18; $i += 2) { list($l, $r) = array_values(unpack('N*', $data = $this->_encryptBlock($data))); $this->bctx['p'][$i ] = $l; $this->bctx['p'][$i + 1] = $r; } for ($i = 0; $i < 4; ++$i) { for ($j = 0; $j < 256; $j += 2) { list($l, $r) = array_values(unpack('N*', $data = $this->_encryptBlock($data))); $this->bctx['sb'][$i][$j ] = $l; $this->bctx['sb'][$i][$j + 1] = $r; } } } function _encryptBlock($in) { $p = $this->bctx["p"]; // extract($this->bctx["sb"], EXTR_PREFIX_ALL, "sb"); // slower $sb_0 = $this->bctx["sb"][0]; $sb_1 = $this->bctx["sb"][1]; $sb_2 = $this->bctx["sb"][2]; $sb_3 = $this->bctx["sb"][3]; $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; for ($i = 0; $i < 16; $i+= 2) { $l^= $p[$i]; $r^= $this->safe_intval(($this->safe_intval($sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff]) ^ $sb_2[$l >> 8 & 0xff]) + $sb_3[$l & 0xff]); $r^= $p[$i + 1]; $l^= $this->safe_intval(($this->safe_intval($sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff]) ^ $sb_2[$r >> 8 & 0xff]) + $sb_3[$r & 0xff]); } return pack("N*", $r ^ $p[17], $l ^ $p[16]); } function _decryptBlock($in) {
UIN Syarif Hidayatullah Jakarta
$p = $this->bctx["p"]; $sb_0 = $this->bctx["sb"][0]; $sb_1 = $this->bctx["sb"][1]; $sb_2 = $this->bctx["sb"][2]; $sb_3 = $this->bctx["sb"][3]; $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; for ($i = 17; $i > 2; $i-= 2) { $l^= $p[$i]; $r^= $this->safe_intval(($this->safe_intval($sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff]) ^ $sb_2[$l >> 8 & 0xff]) + $sb_3[$l & 0xff]); $r^= $p[$i - 1]; $l^= $this->safe_intval(($this->safe_intval($sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff]) ^ $sb_2[$r >> 8 & 0xff]) + $sb_3[$r & 0xff]); } return pack("N*", $r ^ $p[0], $l ^ $p[1]); } function _setupInlineCrypt() { $lambda_functions =& self::_getLambdaFunctions(); // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function. // (Currently, for Blowfish, one generated $lambda_function cost on php5.5@32bit ~100kb unfreeable mem and ~180kb on php5.5@64bit) // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one. $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); // Generation of a unique hash for our generated code $code_hash = "Crypt_Blowfish, {$this->mode}"; if ($gen_hi_opt_code) { $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); } $safeint = $this->safe_intval_inline(); if (!isset($lambda_functions[$code_hash])) { switch (true) { case $gen_hi_opt_code: $p = $this->bctx['p']; $init_crypt = ' static $sb_0, $sb_1, $sb_2, $sb_3; if (!$sb_0) { $sb_0 = $self->bctx["sb"][0]; $sb_1 = $self->bctx["sb"][1]; $sb_2 = $self->bctx["sb"][2]; $sb_3 = $self->bctx["sb"][3]; } ';
UIN Syarif Hidayatullah Jakarta
break; default: $p = array(); for ($i = 0; $i < 18; ++$i) { $p[] = '$p_' . $i; } $init_crypt = ' list($sb_0, $sb_1, $sb_2, $sb_3) = $self->bctx["sb"]; list(' . implode(',', $p) . ') = $self->bctx["p"]; '; } // Generating encrypt code: $encrypt_block = ' $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; '; for ($i = 0; $i < 16; $i+= 2) { $encrypt_block.= ' $l^= ' . $p[$i] . '; $r^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff]') . ' ^ $sb_2[$l >> 8 & 0xff]) + $sb_3[$l & 0xff]') . '; $r^= ' . $p[$i + 1] . '; $l^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff]') . ' ^ $sb_2[$r >> 8 & 0xff]) + $sb_3[$r & 0xff]') . '; '; } $encrypt_block.= ' $in = pack("N*", $r ^ ' . $p[17] . ', $l ^ ' . $p[16] . ' ); '; // Generating decrypt code: $decrypt_block = ' $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; '; for ($i = 17; $i > 2; $i-= 2) { $decrypt_block.= ' $l^= ' . $p[$i] . '; $r^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff]') . ' ^ $sb_2[$l >> 8 & 0xff]) + $sb_3[$l & 0xff]') . '; $r^= ' . $p[$i - 1] . '; $l^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff]') . ' ^ $sb_2[$r >> 8 & 0xff]) + $sb_3[$r & 0xff]') . ';
UIN Syarif Hidayatullah Jakarta
'; } $decrypt_block.= ' $in = pack("N*", $r ^ ' . $p[0] . ', $l ^ ' . $p[1] . ' ); '; $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( array( 'init_crypt' => $init_crypt, 'init_encrypt' => '', 'init_decrypt' => '', 'encrypt_block' => $encrypt_block, 'decrypt_block' => $decrypt_block ) ); } $this->inline_crypt = $lambda_functions[$code_hash]; } }