SISTEM PEMINJAMAN KOLEKSI DIGITAL PERPUSTAKAAN
Oleh : Made Wira Aditya G64101055
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2006
SISTEM PEMINJAMAN KOLEKSI DIGITAL PERPUSTAKAAN
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer Pada Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Oleh : Made Wira Aditya G64101003
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2006
ABSTRAK MADE WIRA ADITYA. Sistem Peminjaman Koleksi Digital Perpustakaan. Dibimbing oleh FIRMAN ARDIANSYAH dan IRMAN HERMADI. Perpustakaan merupakan salah satu sarana untuk mendapatkan informasi yang dapat diakses oleh masyarakat umum. Salah satu bentuk koleksi yang mulai banyak dimiliki perpustakaan adalah file digital (koleksi digital). File digital memiliki sifat dan karakteristik yang berbeda, sehingga dibutuhkan mekanisme peminjaman yang berbeda. Penelitian ini dilakukan untuk membuat sistem yang dapat melindungi file digital koleksi perpustakaan dengan menggunakan kriptografi dan menambahkan informasi ke dalam file tersebut. Sistem yang dikembangkan adalah DigiLib Server dan DigiLib Client. DigiLib Server merupakan perangkat lunak yang dapat melakukan proses enkripsi terhadap file koleksi perpustakaan sekaligus menambahkan informasi ke dalam file koleksi tersebut. DigiLib Client merupakan perangkat lunak yang dapat melakukan proses dekripsi terhadap file koleksi yang telah terenkripsi oleh perangkat lunak DigiLib Server dan membaca informasi tentang aturan penggunaan file.
Judul
: SISTEM PEMINJAMAN KOLEKSI DIGITAL PERPUSTAKAAN Nama : Made Wira Aditya NRP : G64101055
Menyetujui: Pembimbing I,
Pembimbing II,
Firman Ardiansyah, S.Kom NIP 132311919
Irman Hermadi, S.Kom, MS
Mengetahui: Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Dr. Ir. Yonny Koesmaryono, MS NIP 131473999
Tanggal Lulus:
RIWAYAT HIDUP Penulis dilahirkan di Jakarta pada tanggal 18 November 1982 sebagai anak kedua dari tiga bersaudara yang dilahirkan oleh pasangan Wayan Mandi dan Hasih Sujalmi. Pendidikan formal penulis dimulai di TK Harapan Balita Bekasi, pada tahun 1988. Kemudian pada tahun 1989 melanjutkan sekolah dasar di SDN Barata I Bekasi. Tahun 1995, penulis memasuki SLTP Negeri 1 Bekasi, dan menjalani pendidikan SLTA di SMU Negeri 1 Bekasi sampai dengan tahun 2001. Setelah lulus pada tahun 2001, penulis diterima sebagai mahasiswa Departemen Ilmu Komputer IPB melalui jalur UMPTN pada tahun yang sama. Pada bulan Februari sampai Maret 2005, penulis melakukan kerja praktek di Balai Penelitian Bioteknologi Perkebunan Indonesia.
KATA PENGANTAR Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah melimpahkan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan laporan skripsi yang merupakan salah satu syarat kelulusan program sarjana pada Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor. Dalam penyelesaian tugas akhir ini, penulis banyak dibantu oleh berbagai pihak. Terima kasih yang tak terkirakan penulis haturkan untuk: 1. Mama, Papa, dan keluarga atas dukungan, dan semangat yang diberikan selama penulis melaksanakan studi di Institut Pertanian Bogor. 2. Bapak Firman, Bapak Irman selaku pembimbing yang telah sabar membimbing dan berbagi ilmu pengetahuannya kepada penulis. 3. Bapak Sony selaku penguji dalam karya ilmiah ini. 4. Bapak Rahmat Hidayat atas ’Kunci’ menuju jalan kebenaran. 5. Sanda tersayang yang selalu memberikan dukungan dan semangat. 6. Tante Linda dan keluarga yang selalu memberikan dukungan. 7. Rekan-rekan Ilkomerz 38: Teja, Hendra, Rossi, Acid, Chamam, Lisa, Rizki, Andika, Ratna, Iwan, Ono, Holan, Samuel, Ifnu, Sivilia, Marico, Bogel, dan rekan-rekan yang lainnya. 8. Rekan-rakan Kardus: Wigid, Hariadi, Sopi, Tanjung, Amed, Mas Krishna, dan rekan-rekan yang lainnya. 9. Rekan-rekan Ilkomerz 39: Fatur, Iqbal, Zae, Edu, dan Icoy. 10. Seluruh dosen dan staff Departemen Ilmu Komputer. 11. Semua pihak yang tidak dapat disebutkan satu persatu. Akhir kata, semoga tulisan ini dapat memberikan manfaat untuk kita semua. Kritik dan masukan yang membangun sangat penulis harapkan untuk kemajuan tulisan ini. Semoga Tuhan senantiasa melimpahkan karunia-Nya kepada kita semua. Amin.
Bogor, Januari 2006
Made Wira Aditya
DAFTAR ISI Halaman DAFTAR GAMBAR ............................................................................................................................. 8 PENDAHULUAN.................................................................................................................................. 1 Latar Belakang .................................................................................................................................. 1 Ruang Lingkup .................................................................................................................................. 1 Tujuan................................................................................................................................................ 1 TINJAUAN PUSTAKA......................................................................................................................... 1 PDF ................................................................................................................................................... 1 Digital Library................................................................................................................................... 1 Kriptografi......................................................................................................................................... 1 Enkripsi dan Dekripsi........................................................................................................................ 2 Plaintext dan Ciphertext .................................................................................................................... 2 AES (Advanced Encryption Standard).............................................................................................. 2 Fungsi Hash....................................................................................................................................... 2 METODE PENELITIAN....................................................................................................................... 2 Metodologi ........................................................................................................................................ 2 HASIL DAN PEMBAHASAN.............................................................................................................. 3 Flowchart........................................................................................................................................... 3 A. Flowchart DigiLib Server ................................................................................................... 3 B. Flowchart DigiLib Client.................................................................................................... 3 Lingkup Masalah............................................................................................................................... 3 A. DigiLib Server..................................................................................................................... 3 B. DigiLib Client ..................................................................................................................... 3 Deskripsi Umum Sistem.................................................................................................................... 4 A. DigiLib Server..................................................................................................................... 4 B. DigiLib Client ..................................................................................................................... 4 Spesifikasi Pengguna......................................................................................................................... 5 Kebutuhan Antarmuka Eksternal....................................................................................................... 5 A. Antarmuka Pengguna .......................................................................................................... 5 B. Antarmuka Perangkat Keras................................................................................................ 5 C. Antarmuka Perangkat Lunak............................................................................................... 5 Kebutuhan Fungsional....................................................................................................................... 5 A. DigiLib Server..................................................................................................................... 5 B. DigiLib Client ..................................................................................................................... 6 Requirement ...................................................................................................................................... 7 Perancangan ...................................................................................................................................... 7 A. DigiLib Server..................................................................................................................... 7 B. DigiLib Client ..................................................................................................................... 9 Implementasi ................................................................................................................................... 12 Pengujian......................................................................................................................................... 12 A. Perangkat Lunak Pengujian............................................................................................... 12 B. Perangkat Keras Pengujian ............................................................................................... 12 C. Materi Pengujian ............................................................................................................... 12 D. Kriteria Penguji ................................................................................................................. 13 KESIMPULAN DAN SARAN............................................................................................................ 13 Kesimpulan...................................................................................................................................... 13 Saran................................................................................................................................................ 13 DAFTAR PUSTAKA .......................................................................................................................... 13
DAFTAR GAMBAR Halaman 1 Linear Sequential Model. .................................................................................................................... 2 2 Flowchart DigiLib Server. .................................................................................................................. 3 3 Flowchart DigiLib Client.................................................................................................................... 3 4 Diagram Konteks DigiLib Server........................................................................................................ 5 5 DFD Level 1 DigiLib Server............................................................................................................... 6 6 DFD Level 2 (Membuat Header File)................................................................................................. 6 7 Diagram Konteks DigiLib Client. ....................................................................................................... 6 8 DFD Level 1 DigiLib Client. .............................................................................................................. 6 9 DFD Level 2 (Membaca Header File). ............................................................................................... 7 10 DFD Level 2 (Membuat Header File)............................................................................................... 7 11 Layar Menu Utama DigiLib Server................................................................................................... 7 12 Layar Enkripsi................................................................................................................................... 7 13 Layar File Browser. .......................................................................................................................... 8 14 Layar Pesan. ...................................................................................................................................... 8 15 Layar Menu Utama DigiLib Client. .................................................................................................. 9 16 Layar Dekripsi................................................................................................................................... 9 17 Layar File Browser. .......................................................................................................................... 9 18 Layar Show PDF. .............................................................................................................................. 9 19 Layar Pesan Validasi Hash Code. ..................................................................................................... 9 20 Layar Pesan Validasi Tanggal dan Jam............................................................................................. 9 21 Layar Pesan Validasi Aturan Penggunaan File. .............................................................................. 10
PENDAHULUAN Latar Belakang Perpustakaan merupakan salah satu sarana untuk mendapatkan informasi yang dapat diakses oleh masyarakat umum. Selain buku, koleksi perpustakaan dapat berbentuk mikrofilm, video rekaman, kaset rekaman, dan sebagainya. Salah satu bentuk koleksi yang mulai banyak dimiliki perpustakaan adalah file digital (koleksi digital). File digital tersebut bisa berupa buku elektronik, rekaman video, dan lain-lain. Bentuk file digital yang saat ini sering digunakan adalah file digital buku elektronik dalam format PDF (Portable Document Format) yang dikeluarkan oleh Adobe. File digital dapat dengan mudah dipindahkan dan diduplikasi, sehingga diperlukan mekanisme yang berbeda agar koleksi digital tersebut digunakan sesuai dengan aturan yang terdapat di perpustakaan, misalnya, digunakan dalam jangka waktu tertentu dan tidak dapat diduplikasi dengan mudah oleh setiap anggota perpustakaan yang meminjam koleksi file digital tersebut. Dalam ilmu komputer terdapat banyak metode yang dapat digunakan untuk melindungi file digital. Salah satu metode yang digunakan adalah kriptografi. Dengan menggunakan kriptografi, file koleksi yang akan dipinjam, terlebih dahulu dienkripsi sehingga tidak dapat dibaca jika tidak didekripsi. Dengan demikian, walaupun file tersebut diduplikasi tapi jika tidak diketahui cara untuk mendekripsinya maka file tersebut tidak dapat dibaca. Untuk menjamin file koleksi tersebut digunakan sesuai dengan peraturan yang berlaku di perpustakaan, file koleksi yang sudah terenkripsi tersebut bisa ditambahkan informasi tentang aturan penggunaan file (misalnya, jangka waktu penggunaan). Penelitian ini dilakukan untuk membuat sebuah sistem yang dapat melindungi file digital koleksi perpustakaan dengan menggunakan kriptografi dan menambahkan informasi ke dalam file tersebut. Ruang Lingkup Ruang lingkup dari penelitian ini adalah: 1. Penelitian ini hanya diterapkan pada file dengan format PDF. Perangkat lunak yang digunakan untuk membuka file dengan format PDF, adalah Adobe Acrobat Reader 5 atau 6. 2. Komputasi atau proses yang diperlukan dalam penelitian ini seperti proses enkripsi
file, dekripsi file, pembuatan header file, proses hashing pembacaan header file, pemaketan file, dan file shredding merupakan bagian dari penelitian Nugraha Tejapermana. Tujuan Penelitian ini bertujuan: 1. Mengembangkan perangkat lunak yang dapat melakukan proses enkripsi terhadap file koleksi sekaligus menambahkan informasi ke dalam file koleksi tersebut. Perangkat lunak ini diberi nama DigiLib Server. 2. Mengembangkan perangkat lunak yang dapat melakukan proses dekripsi terhadap file koleksi yang telah terenkripsi oleh perangkat lunak DigiLib Server dan membaca informasi yang telah ditambahkan ke dalam file koleksi yang terenkripsi. Perangkat lunak ini diberi nama DigiLib Client.
TINJAUAN PUSTAKA PDF PDF (Portable Document Format) adalah sebuah format file produk dari Adobe. Tujuan dari adanya produk ini adalah agar pengguna dapat dengan mudah melakukan pertukaran dan melihat dokumen elektronik. Sebuah dokumen PDF terdiri dari objek-objek dan struktur informasi yang berhubungan, semuanya direpresentasikan ke dalam byte yang sekuensial. (ASI 2001) Digital Library Digital Library adalah sebuah koleksi yang berfokus pada objek-objek digital termasuk teks, video, dan audio serta memiliki metode untuk melakukan akses. Istilah Digital Library mengandung pengertian yang hampir sama dengan perpustakaan elektronik dan perpustakaan virtual. Di lain pihak, istilah yang sering digunakan dewasa ini adalah perpustakaan digital. Hal ini bisa kita lihat dengan seringnya istilah tersebut muncul dalam workshop, simposium, dan konferensi yang dilaksanakan oleh berbagai lembaga. (Kouichi 1996) Kriptografi Kriptografi adalah studi teknik matematika yang berkaitan dengan aspek-aspek dari keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data. (Menezes et al 1996)
Enkripsi dan Dekripsi Enkripsi yang disimbolkan dengan E merupakan proses untuk mengubah suatu plaintext menjadi ciphertext. Enkripsi dan dekripsi digunakan untuk menyandikan suatu data atau pesan untuk mencapai salah satu tujuan kriptografi yaitu kerahasiaan. Fungsi enkripsi (E) terhadap plaintext (P) akan menghasilkan ciphertext (C) yang secara matematis dapat dinyatakan sebagai berikut: E(P) = C. Di sisi lain, dekripsi disimbolkan dengan D, adalah fungsi kebalikan dari enkripsi merupakan proses mengembalikan ciphertext menjadi plaintext. Fungsi dekripsi (D) terhadap ciphertext (C) akan menghasilkan plaintext (P) yang secara matematis dapat dinyatakan sebagai berikut: D(C) = P. Proses enkripsi yang diikuti dengan proses dekripsi merupakan rangkaian proses penyandian pesan yang diikuti pengembalian pesan ke plaintext yang asli, sehingga berlaku identitas: D(E(P)) = D(C) = P. (Menezes et al 1996) Plaintext dan Ciphertext Plaintext adalah input untuk proses enkripsi atau output dari proses dekripsi. Ciphertext adalah output proses enkripsi dari sebuah data atau pesan. (Stallings 2003) AES (Advanced Encryption Standard) AES adalah algoritma penyandian yang diajukan oleh Joan Daemen dan Vincent Rijmen dengan nama algoritma Rijndael yang kemudian ditetapkan sebagai algoritma AES. (NIST 2001) Fungsi Hash Fungsi hash adalah fungsi yang secara komputasional efisien untuk memetakan string-string binary yang mempunyai panjang tidak tentu ke string binary yang mempunyai panjang tertentu yang disebut dengan nilai hash atau kode hash. (Menezes et al 1996).
METODE PENELITIAN Metodologi Metodologi yang digunakan untuk pengembangan DigiLib Server dan DigiLib Client adalah Linear Sequential Model. Linear melakukan sebuah Sequential Model pendekatan sistematik dan sekuensial pada pengembangan perangkat lunak. (Pressman
2001). Mengalir melalui proses analisis, desain, pengkodean, dan pemeliharaan.
Gambar 1 Linear Sequential Model. Adapun proses dari linear sequential model dapat dijabarkan sebagai berikut: 1. Analisis (Analysis) Proses ini digunakan untuk memahami keadaan umum dari sistem yang akan dibangun. Analisis harus mampu memahami informasi apa saja yang dibutuhkan oleh sistem, misalnya fungsi yang diminta, kenampakan program, performansi, dan antarmuka. Pada tahap ini akan dilakukan perumusan kebutuhan perangkat lunak, dimulai dari pembuatan flowchart atau diagram alir dari perangkat lunak. Kemudian, menentukan kebutuhankebutuhan yang lainnya, seperti menentukan spesifikasi pengguna, kebutuhan antarmuka eksternal, serta kebutuhan fungsional. Tahap ini didokumentasikan di dalam SKPL (Spesifikasi Kebutuhan Perangkat Lunak) yang terdapat pada lampiran. 2. Desain (Design) Proses desain sistem sesungguhnya adalah sebuah proses yang terdiri dari tahap-tahap lainnya yang difokuskan pada empat atribut berikut : struktur data, arsitektur sistem, representasi antarmuka, dan detail algoritma. Proses desain menerjemahkan spesifikasi kebutuhan ke dalam sebuah representasi sistem yang dapat dinilai sebelum proses pengkodean dilakukan. Pada tahap ini akan dilakukan perancangan antarmuka dari perangkat lunak, perancangan fungsi/proses yang terdapat di dalam perangkat lunak, dan menentukan spesifikasi proses/algoritma yang terjadi di dalamnya. Tahap ini didokumentasikan di dalam DPPL (Deskripsi Perancangan Perangkat Lunak) yang terdapat pada lampiran. 3. Pengkodean (Code) Pada proses ini, segala yang sudah dijabarkan dalam proses desain akan dijabarkan dalam bentuk kode-kode program. Kode-kode yang digunakan sangat tergantung pada tahap desain.
Sistem yang akan dibangun secara nyata akan dihasilkan dari proses ini. Pada tahap ini akan dilakukan proses implementasi pengkodean program sesuai analisis dan perancangan yang sudah dilakukan. 4. Pengujian (Test) Ketika pengkodean program telah selesai, maka pengujian program langsung dilakukan. Proses pengujian difokuskan pada logika sistem secara internal, untuk memastikan bahwa semua pernyataan telah diuji, serta fokus pada fungsi-fungsi eksternal. Pengujian dilakukan untuk mendeteksi kesalahan serta memastikan bahwa untuk setiap input yang dimasukkan akan menghasilkan output yang sesuai dengan yang diminta. Pada tahap ini penulis mulai menguji dan melakukan uji black box. Tahap ini didokumentasikan di dalam DUPL (Dokumen Uji Perangkat Lunak) yang terdapat pada lampiran. 5. Pemeliharaan (Support) Walaupun proses ini tidak disajikan pada Gambar 1, namun proses ini juga merupakan bagian dari linear sequential model. Sistem dapat saja berubah setelah dikirimkan ke pengguna. Perubahan tersebut dapat saja terjadi akibat ditemukannya kesalahan karena sistem harus beradaptasi dengan lingkungan luar, atau perubahan muncul akibat permintaan pengguna untuk menambah fungsionalitas atau performansi sistem. Tahap ini tidak dilakukan dalam penelitian kali ini.
HASIL DAN PEMBAHASAN Flowchart A. Flowchart DigiLib Server
Gambar 2 Flowchart DigiLib Server.
B. Flowchart DigiLib Client
Gambar 3 Flowchart DigiLib Client. Lingkup Masalah A. DigiLib Server DigiLib Server (Digital Library Server) adalah perangkat lunak yang dapat melakukan proses enkripsi terhadap file koleksi (plaintext) menjadi ciphertext, sekaligus menambahkan informasi ke dalam file koleksi (ciphertext) tersebut. Informasi yang ditambahkan ke dalam file merupakan informasi yang diperlukan untuk mengatur penggunaan file yang akan dipinjamkan dan semua informasi tersebut disimpan di dalam header file. Informasi-informasi tersebut di antaranya tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka. DigiLib Server menerapkan teknik kriptografi AES (Advanced Encryption Standard) untuk melindungi koleksi yang akan file dipinjamkan. Pada akhir proses DigiLib Server akan menggabungkan header file dan file koleksi yang telah terenkripsi (ciphertext) menjadi satu paket file baru dengan format IPB. DigiLib Server dioperasikan oleh Administrator atau Pustakawan. B. DigiLib Client DigiLib Client (Digital Library Client) merupakan perangkat lunak yang dapat melakukan proses dekripsi terhadap file koleksi yang telah terenkripsi (ciphertext) oleh perangkat lunak DigiLib Server menjadi plaintext dan membaca informasi tentang aturan penggunaan file (tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain) yang telah ditambahkan ke dalam file koleksi yang terenkripsi (ciphertext). DigiLib Client menerapkan teknik kriptografi AES (Advanced Encryption Standard) untuk melakukan proses dekripsi terhadap file koleksi (ciphertext). DigiLib Client
melakukan pemeriksaan terhadap file yang akan didekripsi. Informasi yang diperiksa adalah informasi tentang masa berlakunya peminjaman file. Apabila masa peminjaman telah habis, maka DigiLib Client akan melakukan proses shredding. Apabila file koleksi telah selesai digunakan, maka DigiLib Client melakukan pemaketan kembali file yang telah digunakan. Proses pemaketan dimulai dengan mengubah informasi tanggal dan jam terakhir file dibuka, lalu disimpan kembali di dalam header file. Tahap kedua, DigiLib Client mengenkripsi kembali file koleksi (plaintext) menjadi ciphertext. Tahap terakhir, DigiLib Client menggabungkan header file dan file koleksi (ciphertext) yang telah terenkripsi menjadi satu paket file baru dengan format IPB. DigiLib Client dioperasikan oleh pengguna atau anggota perpustakaan yang telah meminjam file koleksi perpustakaan dan hendak menggunakan file koleksi perpustakaan yang memiliki format IPB. Deskripsi Umum Sistem A. DigiLib Server DigiLib Server terdiri dari tiga proses utama, yaitu: 1. Proses enkripsi Proses enkripsi merupakan proses yang berfungsi untuk mengenkripsi file koleksi perpustakaan (plaintext) yang berupa file buku elektronik dalam format PDF versi 5 dan versi 6 menjadi ciphertext. 2. Proses header maker Proses header maker merupakan proses yang berfungsi untuk membuat header file. Header file adalah tempat untuk menyimpan semua informasi tentang aturan penggunaan file. Proses ini memiliki dua fasilitas, yaitu: • Fasilitas mengumpulkan info Fasilitas mengumpulkan info berfungsi untuk menyediakan atau mengumpulkan semua informasi tentang aturan penggunaan file yang diperlukan. Informasi-informasi yang diperlukan di antaranya seperti tanggal dan jam peminjaman, tanggal dan jam pengembalian, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain. • Fasilitas hash Fasilitas berfungsi untuk hash melakukan proses hashing terhadap semua informasi tentang aturan penggunaan yang telah file dikumpulkan. Tujuan dari proses ini adalah agar semua informasi tentang
aturan penggunaan file yang disimpan di dalam header file tidak dapat diubah oleh pengguna lain. 3. Proses file maker Proses file maker merupakan proses yang berfungsi untuk membuat sebuah paket file baru dengan menggabungkan header file dengan file PDF yang telah terenkripsi. Paket file tersebut memiliki format IPB. B. DigiLib Client DigiLib Client terdiri dari tujuh proses utama, yaitu : 1. Proses header reader Bagian header reader merupakan proses yang berfungsi untuk membaca informasi tentang aturan penggunaan file yang disimpan di dalam header file. Proses ini memiliki dua fasilitas, yaitu: • Fasilitas mengambil info Fasilitas mengambil info berfungsi untuk mengambil atau membaca semua informasi yang tersimpan di dalam header file. Informasi-informasi yang diperlukan di antaranya seperti tanggal dan jam peminjaman, tanggal dan jam pengembalian, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain. Proses ini juga berfungsi untuk memeriksa batas waktu pemakaian file. • Fasilitas hash Fasilitas berfungsi untuk hash memeriksa bahwa semua informasi yang tersimpan di dalam header file tidak mengalami perubahan. 2. Proses dekripsi Proses dekripsi merupakan proses yang berfungsi untuk mendekripsi ciphertext yang terdapat di dalam file IPB yang telah terenkripsi oleh perangkat lunak DigiLib Server. 3. Proses PDF show Proses PDF show merupakan proses yang berfungsi untuk menampilkan file PDF (plaintext) yang dihasilkan dari proses dekripsi. 4. Proses enkripsi Proses enkripsi merupakan proses yang berfungsi untuk mengenkripsi file koleksi perpustakaan yang berupa file buku elektronik dalam format PDF versi 5.0 dan versi 6.0 menjadi ciphertext. 5. Proses header maker Proses header maker merupakan proses yang berfungsi untuk membuat header file. Header file adalah tempat untuk menyimpan semua informasi tentang
aturan penggunaan file. Proses ini memiliki dua fasilitas, yaitu : • Fasilitas mengumpulkan info Fasilitas mengumpulkan info berfungsi untuk menyediakan atau mengumpulkan semua informasi tentang aturan penggunaan file yang diperlukan. Informasi-informasi yang diperlukan di antaranya seperti tanggal dan jam peminjaman, tanggal dan jam pengembalian, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain. • Fasilitas hash Fasilitas berfungsi untuk hash melakukan proses hasing terhadap semua informasi tentang aturan penggunaan yang telah file dikumpulkan. Tujuan dari proses ini adalah agar semua informasi tentang aturan penggunaan file yang disimpan di dalam header file tidak dapat diubah oleh pengguna lain. 6. Proses file maker Proses file maker merupakan proses yang berfungsi untuk membuat sebuah paket file baru dengan menggabungkan header file dengan file PDF yang telah terenkripsi. Paket file tersebut memiliki format IPB. 7. Proses file shredding Proses shredding merupakan proses yang berfungsi untuk merusak file. Tujuan dari proses ini agar file yang telah digunakan benar-benar rusak, sehingga tidak bisa digunakan lagi. Spesifikasi Pengguna Karena terdapat dua buah aplikasi maka setiap aplikasi mempunyai spesifikasi pengguna yang berbeda. Spesifikasi pengguna ini terbatas hanya dalam penelitian ini saja. Spesifikasi pengguna DigiLib Server : 1. Administrator atau Pustakawan. 2. Mengetahui penggunaan komputer secara umum. Pada spesifikasi pengguna DigiLib Server disebutkan bahwa pengguna DigiLib Server adalah Pustakawan karena pengguna DigiLib Server bertugas memaket file dokumen sehingga mereka mempunyai akses ke file dokumen yang belum terpaket. Karena penggunanya adalah Pustakawan, keamanan dari file dokumen yang belum terpaket menjadi tanggung jawab Pustakawan. Spesifikasi pengguna DigiLib Client : 1. Pengguna awam. 2. Mengetahui penggunaan komputer secara umum.
Pada spesifikasi pengguna DigiLib Client disebutkan bahwa pengguna DigiLib Client adalah pengguna awam karena sistem perlindungan yang digunakan dalam penelitian ini dibatasi hanya untuk menghadapi pengguna awam bukan pengguna ahli seperti kriptoanalis atau pengguna yang mempunyai kemampuan di atas rata-rata dalam bidang ilmu komputer. Kebutuhan Antarmuka Eksternal Kebutuhan antarmuka eksternal pada perangkat lunak DigiLib Srver dan DigiLib Client mencakup: A. Antarmuka Pengguna Antarmuka pengguna untuk perangkat lunak ini dikembangkan dengan menggunakan modus grafik. Perangkat lunak ini menerima masukan dari pengguna melalui perintah klik pada tetikus (mouse) atau yang diketikkan melalui papan kunci (keyboard). Keluaran dari perangkat lunak ini dapat dilihat pengguna dengan menggunakan monitor secara langsung. B. Antarmuka Perangkat Keras Kebutuhan minimum perangkat lunak yang digunakan oleh DigiLib Server dan DigiLib Client adalah: • PC. • Papan Kunci (Keyboard). • Tetikus (Mouse). • Monitor VGA. • Memory : Kebutuhan memory harus lebih besar dari ukuran file IPB. C. Antarmuka Perangkat Lunak .NET Framework SDK (Software Development Kit) versi 1.1. Kebutuhan Fungsional A. DigiLib Server Diagram Konteks
Gambar 4 Diagram Konteks DigiLib Server. Aliran data dari Diagram Konteks di atas terdiri dari: a. File PDF, yaitu input yang diperlukan oleh perangkat lunak DigiLib Server.
b. File IPB, yaitu output dari perangkat lunak DigiLib Server. c. Info, yaitu informasi-informasi tentang aturan penggunaan file (tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain).
b. Hash code, yaitu output dari proses hashing. c. Header File, yaitu output dari proses pembuatan header file. B. DigiLib Client Diagram Konteks
DFD Level 1
Gambar 7 Diagram Konteks DigiLib Client. Aliran data dari Diagram Konteks di atas terdiri dari: a. File PDF, yaitu input yang diperlukan oleh perangkat lunak DigiLib Server. b. File IPB, yaitu output dari perangkat lunak DigiLib Server. Gambar 5 DFD Level 1 DigiLib Server. Aliran data dari DFD Level 1 di atas terdiri dari: a. File PDF, yaitu input yang diperlukan oleh perangkat lunak DigiLib Server. b. File IPB, yaitu output dari perangkat lunak DigiLib Server. c. Info, yaitu informasi-informasi tentang aturan penggunaan file (tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain). d. Ciphertext, yaitu output dari proses enkripsi. e. Header File, yaitu output dari proses pembuatan header file. DFD Level 2 (Membuat Header File)
Gambar 6 DFD Level 2 (Membuat Header File). Aliran data dari DFD Level 1 di atas terdiri dari: a. Info, yaitu informasi-informasi tentang aturan penggunaan file (tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain).
DFD Level 1
Gambar 8 DFD Level 1 DigiLib Client. Aliran data dari DFD Level 1 di atas terdiri dari: a. File PDF, yaitu output dari proses mendekripsi dan proses file menampilkan file PDF. File PDF juga merupakan input untuk proses melakukan shredding. b. File IPB, yaitu output dari proses pembuatan file. File IPB juga merupakan input untuk proses membaca header file dan proses melakukan shredding. c. Info, informasi-informasi tentang aturan penggunaan file (tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain). d. Info yang ter-update, yaitu informasi tanggal dan jam pemakaian file yang telah ter-update.
e. Ciphertext, yaitu output dari proses enkripsi. Ciphertext juga merupakan input dari proses dekripsi. f. Header File, yaitu output dari proses pembuatan header file. DFD Level 2 (Membaca Header File)
Gambar 9 DFD Level 2 (Membaca Header File). Aliran data dari DFD Level 1 di atas terdiri dari: a. File IPB, yaitu input dari proses pembacaan header file. b. Info, yaitu informasi-informasi tentang aturan penggunaan file (tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain). c. Hash code, yaitu output dari proses perhitungan hash. d. Ciphertext, yaitu output dari proses melakukan validasi. DFD Level 2 (Membuat Header File)
Gambar 10 DFD Level 2 (Membuat Header File). Aliran data dari DFD Level 1 di atas terdiri dari: a. Info, yaitu informasi-informasi tentang aturan penggunaan file (tanggal dan jam peminjaman, tanggal dan jam masa peminjaman, nama file, tanggal dan jam terakhir file dibuka, dan lain-lain). b. Info yang ter-update, yaitu informasi tanggal dan jam pemakaian file yang telah ter-update. c. Hash code, yaitu output dari proses perhitungan hash. d. Header File, yaitu output dari proses pembuatan header file.
Requirement Data yang diperlukan oleh perangkat lunak adalah berupa informasi-informasi yang disimpan di dalam header file. Informasiinformasi itu adalah: • Tanggal peminjaman. • Jam peminjaman. • Tanggal habis masa peminjaman. • Jam habis masa peminjaman. • Nama file. • Tanggal terakhir file dibuka. • Jam terakhir file dibuka. • Panjang hash code. • Hash code. Informasi tersebut akan dikodekan ke dalam header file dengan tag khusus seperti berikut:
tanggal peminjaman jam peminjaman <expd>tanggal habis masa peminjaman <exph>jam habis masa peminjaman nama file tanggal terakhir file dibuka jam terakhir file dibuka panjang hash code hash code
Perancangan A. DigiLib Server Layar Umum
Gambar 11 Layar Menu Utama DigiLib Server. Layar Enkripsi
Gambar 12 Layar Enkripsi.
Layar File Browser
Gambar 13 Layar File Browser. Layar Pesan
Gambar 14 Layar Pesan. Perancangan Fungsi/Proses Fungsi/proses dari DigiLib Server adalah: 1. Fungsi/proses menampilkan halaman enkripsi. 2. Fungsi/proses menampilkan halaman file browser. 3. Fungsi/proses memilih file 4. Fungsi/proses melakukan proses hashing. 5. Fungsi/proses membuat header file. 6. Fungsi/proses mengenkripsi file. 7. Fungsi/proses membuat file. 8. Fungsi/proses menampilkan halaman pesan Spesifikasi proses/algoritma 1. Fungsi/Proses Menampilkan Halaman Enkripsi Proses ini berfungsi untuk menampilkan halaman Enkripsi (Gambar 12).
Initial State : Halaman Menu Utama (Layar Menu Utama) Final State : Menampilkan halaman Enkripsi (Layar Enkripsi) On Click MainMenu ‘Enkripsi’ (Layar Menu Utama) Show Halaman Enkripsi (Layar Enkripsi)
2. Fungsi/Proses Menampilkan Halaman File Browser Proses ini berfungsi untuk menampilkan halaman File Browser (Gambar 13).
Initial State : Halaman Enkripsi (Layar Enkripsi) Final State : Menampilkan halaman File Browser (Layar File Browser) On Click Button ‘Browse’ (Layar Enkripsi) Show Halaman File Browser (Layar file browser)
3. Fungsi/Proses Memilih File Proses ini berfungsi untuk memilih file yang akan diproses.
Initial State : Halaman File Browser (Layar File Browser) Final State : Memilih file If FileListBox ‘Daftar file’ (Layar File Browser) Selected Button ‘Open’ (Layar File Browser) = Enable End If On Click Button ‘Open’ (Layar File Browser) Show Halaman Enkripsi (Layar Enkripsi) TextBox ‘Path file’ (Layar Enkripsi) = TextBox Nama file’ (Layar File Browser)
4. Fungsi/Proses Melakukan Proses Hashing Proses ini berfungsi untuk melakukan proses hashing terhadap semua informasi tentang penggunaan file. Tujuan dari proses ini adalah agar semua informasi yang tersimpan di dalam header file tidak dapat diubah oleh orang lain.
Initial State : Halaman Enkripsi (Layar Enkripsi) Final State : Melakukan proses hashing If TextBox ‘Path file’ (Layar Enkripsi) Not Null And ComboBox ‘Durasi’ (Layar Enkripsi) Selected Then Button ‘Pinjam’ (Layar Enkripsi)= Enable End If On Click Button ‘Pinjam’ (Layar Enkripsi) dt = Date Now ho = Time Now expd = ComboBox ‘Durasi’ exph = Time Now fn = TextBox ‘Path file’ lod = 00000000 loh = 0000 Hash(dt + ho + expd + exph + fn + lod + loh) hl = hash length hc = hash code
5. Fungsi/Proses Membuat Header File Proses ini berfungsi untuk membuat header file. Header file adalah tempat untuk menyimpan semua informasi tentang aturan penggunaan file. Fungsi/proses ini memanggil fungsi/proses melakukan proses hashing. Initial State : Halaman Enkripsi (Layar Enkripsi) Final State : Membuat header file If TextBox ‘Path file’ (Layar Enkripsi) Not Null And ComboBox ‘Durasi’ (Layar Enkripsi) Selected Then Button ‘Pinjam’ (Layar Enkripsi)= Enable End If On Click Button ‘Pinjam’ (Layar Enkripsi) Header file =
dtho <expd>expd <exph>exph
fn lod loh hlhc
6. Fungsi/Proses Mengenkripsi File Proses ini berfungsi untuk mengenkripsi file PDF menjadi file IPB (ciphertext).
Initial State : Halaman Enkripsi (Layar Enkripsi) Final State : Mengenkripsi file If TextBox ‘Path file’ (Layar Enkripsi) Not Null And ComboBox ‘Durasi’ (Layar Enkripsi) Selected Then Button ‘Pinjam’ (Layar Enkripsi)= Enable End If On Click Button ‘Pinjam’ (Layar Enkripsi) EncryptFile(TextBox ‘Path file’ )
7. Fungsi/Proses Membuat File Proses ini berfungsi untuk membuat sebuah paket baru dengan file menggabungkan header file dengan file PDF yang telah terenkripsi. Paket file tersebut memiliki format IPB. Fungsi/proses ini memanggil fungsi/proses membuat header file dan fungsi/proses mengenkripsi file.
Initial State : Halaman Enkripsi (Layar Enkripsi) Final State : Membuat file If TextBox ‘Path file’ (Layar Enkripsi) Not Null And ComboBox ‘Durasi’ (Layar Enkripsi) Selected Then Button ‘Pinjam’ (Layar Enkripsi)= Enable End If On Click Button ‘Pinjam’ (Layar Enkripsi) Header file + EncryptFile
8. Fungsi/Proses Menampilkan Halaman Pesan Proses ini menampilkan halaman pesan (Gambar 14) yang berisi bahwa file IPB telah berhasil diproses.
Initial State : Halaman Enkripsi (Layar Enkripsi) Final State : Membuat file If Header file + EncryptFile = Not Null Then Show Halaman Pesan (Layar Pesan) End If
B. DigiLib Client Antarmuka Umum
Layar Dekripsi
Gambar 16 Layar Dekripsi. Layar File Browser
Gambar 17 Layar File Browser. Layar Show PDF
Gambar 18 Layar Show PDF. Layar Pesan Validasi Hash Code
Gambar 19 Layar Pesan Validasi Hash Code. Layar Pesan Validasi Tangga dan Jam
Gambar 20 Layar Pesan Validasi Tanggal dan Jam. Gambar 15 Layar Menu Utama DigiLib Client.
Layar Pesan Penggunaan File
Validasi
Aturan
Gambar 21 Layar Pesan Validasi Aturan Penggunaan File. Perancangan Fungsi/Proses Fungsi/proses dari DigiLib Server adalah: 1. Fungsi/proses menampilkan halaman dekripsi. 2. Fungsi/proses menampilkan halaman file browser. 3. Fungsi/proses memilih file. 4. Fungsi/proses memproses file. 5. Fungsi/proses mengumpulkan info-info yang disimpan. 6. Fungsi/proses melakukan proses hashing info-info yang dikumpulkan. 7. Fungsi/proses melakukan validasi/pemeriksaan terhadap hash code. 8. Fungsi/proses melakukan validasi/memeriksaan terhadap aturan penggunaan file. 9. Fungsi/proses melakukan shredding file IPB. 10. Fungsi/proses mendekripsi file. 11. Fungsi/proses menampilkan file PDF. 12. Fungsi/proses melakukan proses hashing kembali info-info. 13. Fungsi/proses membuat header file. 14. Fungsi/proses mengenkripsi file. 15. Fungsi/proses membuat file. 16. Fungsi/proses melakukan shredding file PDF. Spesifikasi proses/algoritma 1. Fungsi/Proses Menampilkan Halaman Dekripsi Proses ini berfungsi untuk menampilkan halaman Dekripsi (Gambar 16).
Initial State : Halaman Menu Utama (Layar Menu Utama) Final State : Menampilkan halaman Enkripsi (Layar Dekripsi) On Click MainMenu ‘Dekripsi (Layar Menu Utama) Show Halaman Dekripsi (Layar Dekripsi)
2. Fungsi/Proses Menampilkan Halaman File Browser Proses ini berfungsi untuk menampilkan halaman File Browser (Gambar 17).
Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Menampilkan halaman File Browser (Layar File Browser) On Click Button ‘Browse’ (Layar Dekripsi) Show Halaman File Browser (Layar file browser)
3. Fungsi/Proses Memilih File Proses ini berfungsi untuk memilih file yang akan diproses.
Initial State : Halaman File Browser (Layar File Browser) Final State : Memilih file If FileListBox ‘Daftar file’ (Layar File Browser) Selected Then Button ‘Open’ (Layar File Browser) = Enable End If On Click Button ‘Open’ (Layar File Browser) Show Halaman Enkripsi (Layar Dekripsi) TextBox ‘Path file’ (Layar Dekripsi) = TextBox ‘Nama file’
4. Fungsi/Proses Memproses File Proses ini berfungsi untuk mengumpulkan semua informasi tentang penggunaan file yang tersimpan di dalam header file. Fungsi/proses ini memanggil fungsi/proses melakukan proses hashing, fungsi/proses melakukan validasi/pemeriksaan terhadap hash code, fungsi/proses melakukan validasi/pemeriksaan terhadap aturan penggunaan fungsi/proses file, mendekripsi file dan fungsi/proses menampilkan file PDF.
Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Memilih file If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekrip si)= Enable End If Open(File IPB)
5. Fungsi/Proses Mengumpulkan InfoInfo Yang Disimpan Proses ini berfungsi untuk mengumpulkan semua informasi tentang penggunaan file yang tersimpan di dalam header file. Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Mengumpulkan info-info yang disimpan di dalam header file If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekripsi)= Enable End If On Click Button ‘Open’ (La yar File Browser) dt =
dt ho =
ho expd = <expd>expd exph = <exph>exph fn =
fn lod =
lod loh =
loh hl =
hl hc =
hc
6. Fungsi/Proses Melakukan Proses Info-Info Yang Hashing Dikumpulkan Proses ini berfungsi untuk melakukan proses hashing terhadap semua informasi tentang penggunaan file. Fungsi/proses ini memanggil fungsi/proses mengumpulkan info-info yang disimpan. Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Melakukan proses hashing If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekripsi)= Enable End If On Click Button ‘Open’ (Layar File Browser) Hash(dt + ho + expd + exph + fn + lod + loh)
7. Fungsi/Proses Melakukan Validasi/Pemeriksaan Terhadap Hash Code Proses ini berfungsi untuk memeriksa hash code. Pemeriksaan ini bertujuan untuk memeriksa apakah header file telah diubah atau tidak. Fungsi/proses ini memanggil fungsi/proses melakukan proses hashing.
Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Melakukan proses melakukan validasi atau pemeriksaan If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekripsi)= Enable End If On Click Button ‘Open’ (Layar File Browser) If Hash(dt + ho + expd + exph + fn + lod + loh) = hc Then Show Halaman Pesan Validasi hash code (Layar Pesan Validasi Hash code) End If
8. Fungsi/Proses Melakukan Validasi/Pemeriksaan Terhadap Aturan Penggunaan File Proses ini berfungsi untuk memeriksa masa penggunaan file proses ini juga memeriksa tanggal dan jam pemakaian file. Fungsi/proses ini memanggil fungsi/proses mengumpulkan info-info yang disimpan dan fungsi/proses melakukan shredding file IPB.
Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Melakukan proses melakukan validasi/pemeriksaan If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekripsi)= Enable End If On Click Button ‘Open’ (Layar File Browser) If lod = 0 I loh = 0 Then If dt = Date Now And ho > Time Now Or dt > Date Now Then Show Halaman Pesan Validasi Tanggal dan Jam (Layar Pesan Validasi Tanggal dan Jam) Else
If expd = Date Now And exph < Time Now Or expd < Date Now Then Show Halaman Pesan Validasi Aturan Penggunaan File (Layar Pesan Validasi Aturan Penggunaan File) End If End If Else If lod = Date Now And loh > Time Now Or lod > Date Now Then Show Halaman Pesan Validasi Tanggal dan Jam (Layar Pesan Validasi Tanggal dan Jam) Else If expd = Date Now And exph < Time Now Or expd < Date Now Then Show Halaman Pesan Validasi Aturan Penggunaan File (Layar Pesan Validasi Aturan Penggunaan File) End If End If End If
9. Fungsi/Proses Melakukan Shredding File IPB Proses ini berfungsi berfungsi untuk merusak file IPB. Proses ini dijalankan apabila file yang bersangkutan telah melewati masa penggunaan file.
Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Melakukan shredding file IPB If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekripsi)= Enable End If On Click Button ‘Open’ (Layar File Browser) If Halaman Pesan Validasi Aturan Penggunaan File (Layar Pesan Validasi Aturan Penggunaan File) = True Then Shredding(TextBox ‘Path file’ ) FileDelete(TextBox ‘Path file’ ) End If
10. Fungsi/Proses Mendekripsi File Proses ini berfungsi untuk mendekripsi file IPB (ciphertext) menjadi file PDF.
Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Mendekripsi file If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekripsi)= Enable End If On Click Button ‘Open’ (Layar File Browser) DecryptFile(TextBox ‘Path file’ )
11. Fungsi/Proses Menampilkan File PDF Proses ini berfungsi untuk menampilkan file PDF yang telah dienkripsi sebelumnya.
Initial State : Halaman Dekripsi (Layar Dekripsi) Final State : Melakukan proses hashing If TextBox ‘Path file’ (Layar Dekripsi) Not Null Then Button ‘Open’ (Layar Dekripsi)= Enable End If On Click Button ‘Open’ (Layar File Browser) If DecryptFile(TextBox ‘Path file’ ) = True Then Show Halaman Show PDF (Layar Show PDF) End If
12. Fungsi/Proses Melakukan Proses Hashing Kembali Info-Info Proses ini berfungsi untuk melakukan proses hashing terhadap semua informasi tentang penggunaan file. Tujuan dari proses ini adalah agar semua informasi yang tersimpan di dalam header file tidak dapat diubah oleh orang lain.
Initial State : Halaman Show PDF (Layar Show PDF) Final State : Melakukan proses hashing If Halaman Show PDF (Layar Show PDF) = True Then dt = dt ho = ho expd = expd exph = exph fn = fn lod = Date Now loh = Time Now Hash(dt + ho + expd + exph + fn + lod + loh) hl = hash length hc = hash code End If
13. Fungsi/Proses Membuat Header File Proses ini berfungsi untuk membuat header file. Header file adalah tempat untuk menyimpan semua informasi tentang aturan penggunaan file. Fungsi/proses ini memanggil fungsi/proses melakukan proses hashing.
Initial State : Halaman Show PDF (Layar Show PDF) Final State : Membuat header file If Halaman Show PDF (Layar Show PDF) = True Then Header file =
dtho <expd>expd <exph>exph
fn lod loh End If
14. Fungsi/Proses Mengenkripsi File Proses ini berfungsi untuk mengenkripsi file PDF menjadi file IPB (ciphertext).
Initial State : Halaman Show PDF (Layar Show PDF) Final State : Mengenkripsi file If Halaman Show PDF (Layar Show PDF) = True Then EncryptFile(Path file tempat file PDF ditempatkan) End If
15. Fungsi/Proses Membuat File Proses ini berfungsi berfungsi untuk membuat sebuah paket file baru dengan menggabungkan header file dengan file PDF yang telah terenkripsi. Paket file tersebut memiliki format IPB. Fungsi/proses ini memanggil fungsi/proses membuat header file dan fungsi/proses mengenkripsi file.
Initial State : Halaman Show PDF (Layar Show PDF) Final State : Membuat file If Halaman Show PDF (Layar Show PDF) = True Then Header file + EncryptFile End If
16. Fungsi/Proses Melakukan Shredding File PDF Proses ini berfungsi berfungsi untuk merusak file PDF. Proses ini dijalankan sesaat setelah file yang bersangkutan ditampilkan.
Initial State : Halaman Show PDF (Layar Show PDF) Final State : Melakukan proses hashing If Halaman Show PDF (Layar Show PDF) = True And Header file + EncryptFile = True Then Shredding(Path file tempat file PDF ditempatkan) FileDelete(Path file tempat file PDF ditempatkan) End If
Implementasi Perangkat keras yang dibutuhkan agar aplikasi DigiLib Server dan DigiLib Client berfungsi dengan sebagaimana mestinya, adalah sebagai berikut: • PC. • Papan Kunci (Keyboard). • Tetikus (Mouse). • Monitor VGA. • Memory : Kebutuhan memory harus lebih besar dari ukuran file IPB. Sistem dikembangkan dengan menggunakan perangkat lunak sebagai berikut: • Sistem Operasi Windows XP service pack 1. • Microsoft .NET Framework 1.1. • Microsoft Visual Studio .Net 2003 • Acrobat Reader versi 5.0 atau 6.0. Pengujian A. Perangkat Lunak Pengujian Perangkat lunak yang digunakan untuk menguji perangkat lunak DigiLib Server adalah: • .NET Framework SDK (Software Development Kit) versi 1.1. • Acrobat Reader versi 5.0 atau 6.0. B. Perangkat Keras Pengujian Perangkat keras yang digunakan untuk menguji perangkat lunak DigiLib Server ini adalah: • Processor : Pentium 4 CPU 2,4 GHz • Memory : 512 MB • Hard Disk : 80 GB • VGA Card : 64 MB C. Materi Pengujian Materi pengujian yang dibutuhkan pada pengujian perangkat lunak DigiLib Server ini meliputi: • Spesifikasi kebutuhan pengguna yang terdapat dalam SKPL-DigiLib Server.
• Laporan-laporan yang telah didokumentasi pada DPPL-DigiLib Server. • Spesifikasi kebutuhan pengguna yang terdapat dalam SKPL-DigiLib Client. • Laporan-laporan yang telah didokumentasi pada DPPL-DigiLib Client. D. Kriteria Penguji Persyaratan personel yang terlibat dalam proses pengujian perangkat lunak ini adalah: • Pustakawan. • Pengguna yang mengetahui penggunaan komputer secara umum. • Anggota perpustakaan.
KESIMPULAN DAN SARAN Kesimpulan DigiLib Server merupakan perangkat lunak yang dapat melakukan proses enkripsi terhadap file koleksi perpustakaan sekaligus menambahkan informasi ke dalam file koleksi tersebut. DigiLib Server. Proses enkripsi dilakukan untuk melindungi file koleksi yang dipinjamkan kepada anggota perpustakaan. Di dalam file koleksi (file IPB) ditambahkan header file yang berisi informasi tentang penggunaan file. Proses hashing yang dilakukan pada saat membuat header file dilakukan agar header file tidak bisa diubah. DigiLib Client merupakan perangkat lunak yang dapat melakukan proses dekripsi terhadap file koleksi yang telah dienkripsi oleh perangkat lunak DigiLib Server. Proses shredding adalah proses untuk merusak file agar file tersebut tidak bisa digunakan lagi. Proses pemaketan kembali file yang telah didekripsi dilakukan terhadap file yang masih berlaku karena informasi tentang penggunaan file yang tersimpan di dalam header file harus di-update. Saran Sistem yang telah kami kembangkan ini masih memiliki banyak kekurangan. Beberapa kekurangan yang nantinya dapat dikembangkan antara lain: 1. File koleksi yang dapat diproses oleh perangkat lunak DigiLib Server dan DigiLib Client hanya file PDF saja. Pada pengembangan selanjutnya, perangkat lunak dapat lebih dikembangkan agar dapat memproses file yang lainnya, seperti file gambar (file JPG, file BMP, dan lainlain), file suara (file WAV, file MP3, dan lain-lain), dan lain-lain.
2. Proses pemaketan koleksi file perpustakaan hanya dapat dilakukan melalui perangkat lunak DigiLib Server, sehingga apabila seorang anggota perpustakaan ingin meminjam file koleksi perpustakaan maka yang bersangkutan harus meminta kepada pustakawan. Pada pengembangan selanjutnya, perangkat lunak dapat lebih dikembangkan dengan berbasis peer to peer, sehingga seorang anggota dapat langsung mengakses dan memilih file mana saja yang bisa dipinjamnya dan proses pemaketan bisa langsung berjalan sesaat setelah yang bersangkutan memilih file mana yang akan dipinjamnya. DAFTAR PUSTAKA [ASI]. Adobe System Incorporated, PDF Reference. Adobe System Incorporated. 2001. [IEEE]. Institute of Electrical and Electronics Engineers, Inc. 1994. IEEE recommended practice for software requirements specifications. IEEE Std 830-1993. http://ieeexplore.ieee.org/Xplore/login.jsp? url=/iel1/3114/8906/00392555.pdf?tp=&ar number=392555&isnumber=8906. [24 Januari 2006] Kouichi, T. What is Digital Library. IPSJ Journal Vol.37 No.9. Japan. 1996. Menezes A., Van Oorschot P., & Vanstone S. 1996. Handbook of Applied Cryptography. CRC Press Inc. www.cacr.math.uwaterloo.ca/hac. [19 Februari 2004]. [NIST]. National Institute of Standards and Technology. 2001a. Federal Information Processing Standards Publication (FIPS) Publication 197. http://csrc.nist.gov/publications/fips/fips19 7/fips-197.pdf. [10 Desember 2005]. Pressman, RS. Software Engineering: A Practitioner’s Approsch. The McGrawHill Companies, Inc. New York. 2001. Stallings W. 2003. Cryptography and Network Security (Third Edition). Prentice Hall. United States of America. Wahono, RS. Menengok Proyek Digital Library. 2003.