download request dari pengguna, kemudian akan membangkitkan sebuah kode unik yang disebut Session ID (SID) yang merupakan MMD5 (Modified MD5) sebagai respon dari download request tersebut. Oleh pengguna, SID akan dijadikan input untuk PDownloader yang akan mengenkripsi SID menjadi Verification ID (VID) dan akan dikirimkan kembali ke PETAL Server. Oleh PETAL Server, VID akan divalidasi. Jika sesuai dengan SID yang telah dikirim sebelumnya, maka validadsi berhasil dan koleksi digital akan dikirimkan ke PDownloader. Adanya SID dan VID ini, menyebabkan mekanisme pengiriman dan penerimaan akan bersifat unik karena hanya aplikasi PDownloader yang bisa digunakan untuk melakukan proses download terhadap koleksi digital yang diinginkan.
Tabel 1 Fungsi produk PETAL Server
Kode
Fungsional Deskripsi
PS_1.1 Menampilkan informasi koleksi digital yang dimiliki perpustakaan
PS_1.2 Membangkitkan SID PS _1.3 Menampilkan SID PS _1.4 Membangkitkan VID Server
PS _1.5 Melakukan validasi VID yang dikirimkan oleh PDownloader PS _1.6 Mengambil koleksi digital PS _1.7 Memberikan koleksi digital ke
PDownloader
PS _1.8 Menghapus download request dari tabel download_session secara berkalas PS _1.9 Mengambil waktu dari server ketika
terjadi download request
PS _1.10 Mengambil ID koleksi yang ingin diunduh oleh pengguna
PS _1.11 Memasukkan waktu server dan ID koleksi ke basis data
PETAL Server
PETAL Server adalah aplikasi berbasis web untuk menampilkan informasi koleksi-koleksi digital yang dimiliki oleh perpustakaan. Modul yang dikembangkan pada PETAL Server hanya pada bagian penanganan adanya download request.
b. Karakteristik Pengguna
Pengguna PETAL Server adalah pengguna umum yang ingin mengetahui koleksi-koleksi digital yang dimiliki perpustakaan. Karakteristik dan hak akses yang dimiliki oleh pengguna umum dapat dilihat pada Tabel 2.
Analisis Kebutuhan Perangkat Lunak Tahap analisis kebutuhan perangkat lunak merupakan proses pengumpulan kebutuhan yang diintensifkan dan difokuskan, khususnya pada perangkat lunak.
Tabel 2 Karakteristik pengguna
Kategori Pengguna Kode Fungsional Deskripsi Pengguna Umum PS _1.3 PS _1.7 mendapatkan SID, memperoleh koleksi digital yang diinginkan
PETAL Server browser
pengguna
Basis Data
PETAL Server PDownloader
c. Pemodelan Kebutuhan Fungsional Diagram Konteks
Pada diagram konteks, terdapat dua entitas dari PETAL Server, yaitu: pengguna dan PDownloader. Entitas pengguna mengirimkan request dan akan menerima SID. Entitas PDownloader mengirimkan VID dan menerima koleksi digital. Diagram konteks PETAL Server dapat dilihat pada Gambar 3.
Gambar 3 Diagram konteks PETAL Server.
DFD Level 1
DFD Level 1 merupakan penjabaran dari DFD Level 0. Pada DFD level 1 terdiri atas enam buah proses, yaitu: menampilkan informasi jurnal, menampilkan SID koleksi, melakukan validasi VID, dan mengambil koleksi digital untuk diberikan kepada PDownloader. DFD Level 1 untuk PETAL Server dapat dilihat pada Gambar 4.
PerancanganSistem
Perancangan merupakan langkah pertama dalam pengembangan suatu produk atau aplikasi. Proses perancangan aplikasi ini terbagi menjadi enam, yaitu perancangan basis data, perancangan arsitektur, perancangan antarmuka, perancangan input, perancangan proses, dan perancangan output.
a. Perancangan Basis Data
Database Management System (DBMS) yang digunakan dalam pembangunan aplikasi PETAL Server ini adalah MySQL, dengan nama basis data “databuku”, yang terdiri atas dua buah tabel, yaitu: katalog dan download_session. Kedua tabel tersebut dapat dilihat pada Tabel 3 dan Tabel 4.
Gambar 4 DFD Level 1 PETAL Server. Tabel 3 Tabel katalog
Field Jenis Kosong Deskripsi id Int(11) Tidak
judul Varchar(100) Tidak pengarang Varchar(50) Tidak tipe Varchar(50) Tidak filename Varchar(100) Tidak
Tabel untuk menyimpan link
koleksi digital yang dimiliki perpustakaan
Tabel 4 Tabel download_session
Field Jenis Kosong Deskripsi dl_session Varchar (32) Tidak id_koleksi Int (11) Tidak time Int (11) Tidak Tabel untuk menyimpan SID yang dikirim ke PDownloader untuk melakukan validasi VID dan mengambil ID koleksi digital PDownloader Pengguna PETAL Server VID koleksi SID request download_session 1 tampil informasi jurnal ketegori jurnal info jurnal pengguna kata kunci pencarian
request 2 manajemen request 3 tampil SID koleksi 4 validasi VID 5 ambil koleksi katalog PDownloader koleksi jurnal ID Koleksi SID
SID, waktu server, ID koleksi SID
VID PDownloader SID link koleksi SID koleksi koleksi katalog
b. Perancangan Input
Pada perancangan input, pengguna akan diminta untuk melakukan download request dengan cara mengklik tulisan ‘download’ yang ada pada setiap koleksi jurnal yang akan diinginkan seperti yang terlihat pada Gambar 5.
• Processor Intel Pentium 4 2,4 GHz
• Memory DDRAM 512 MB
• Hard disk 80 GB.
Perangkat Lunak
Perangkat lunak yang digunakan dalam pembuatan aplikasi PETAL Server ini adalah:
Judul : Pengarang : Kategori :
Download
• Microsoft Windows XP Professional Edition Service Pack 2
• Linux Fedora Core 5
• PHP 5.1.1 dan MySQL 5.0.17-nt Gambar 5 Perancangan bagian download
request. • Macromedia Dreamwever 8
c. Perancangan Proses
Perancangan proses menjelaskan proses yang terjadi ketika ada sebuah download request. Perancangan proses ini dapat dilihat pada Tabel 5.
b. Implementasi Program
Bahasa pemrograman web yang digunakan dalam pembuatan aplikasi PETAL Server adalah PHP. SID dibangkitkan dengan mengenkripsi ID koleksi digital yang telah digabung dengan waktu di server ketika terjadinya request tersebut.
Untuk validasi VID, dan mengambil link koleksi digital ke basis data, diatur dalam “download.php”. Untuk mengatur kata kunci yang digunakan disimpan dalam “config.php”. Fungsi untuk membersihkan Tabel download_session secara berkala disimpan pada “refresh-session.php”. Implementasi file untuk setiap modul ditunjukkan pada Tabel 7.
Tabel 5 Perancangan proses PETAL Server
Halaman Deskripsi Proses
Download PETAL Server akan meneriman download request dan menampilkan SID sebagai respon
SID akan digenerate berdasarkan ID koleksi dan waktu terjadinya
download request
menggunakan algoritma MD5
d. Perancangan Output
Penjelasan tentang perancangan output untuk pengguna dapat dilihat pada Tabel 6.
Tabel 7 Implementasi file untuk setiap modul Tabel 6 Perancangan output PETAL Server
Modul File Keterangan Validasi VID Download.php Modul untuk
memastikan bahwa
downloader yang digunakan adalah PDownloader Download Download.php Modul
memberikan link file koleksi ke PDownloader Pengguna Output Keterangan
Pengguna SID Menampilkan SID sebagai respon dari download request yang dilakukan oleh pengguna
Implementasi
Proses implementasi dibagi tiga, yaitu: lingkungan implementasi, implementasi program, dan implementasi antarmuka.
c. Implementasi Antarmuka
Untuk koleksi digital yang dapat diunduh oleh pengguna, akan ditampilkan tulisan “Download” yang dapat diklik (hyperlink). Sedangkan untuk koleksi digital yang tidak dapat diunduh akan ditampilkan tulisan ”Not Downloadable”.
a. Lingkungan Implementasi Perangkat Keras
Perangkat keras yang digunakan dalam pembuatan PETAL Server ini adalah:
Tabel 8 Penilaian pengujian PETAL Server
Keterangan Uji Skenario Pengujian Hasil yang Diharapkan Penilaian Tampilan SID Memilih salah satu koleksi
digitaluntuk dilakukan proses download
Ditampilkan SID untuk dijadikan input oleh pengguna ke PDownloader untuk mengunduh koleksi digital
Berhasil
Jika tulisan “Download” diklik, maka PETAL Server akan memberikan respon dengan menampilkan sebuah halaman baru yang akan menampilkan kode SID dari koleksi digital yang akan diunduh untuk dijadikan input untuk PDownloader. Contoh halaman yang menampilkan SID sebagai respon dapat dilihat pada Gambar 6.
Gambar 6 Tampilan SID.
Pengujian
Pengujian aplikasi PETAL Server menggunakan metode Black-Box, yang merupakan pengujian pada spesifikasi program. Proses pengujian ini dapat ditentukan dengan mempelajari masukan dan kemungkinan hasilnya. Jika pada hasil pengujian yang dilakukan masih terdapat kesalahan maka dilakukan perbaikan program pada tahap sebelumnya yaitu tahap implementasi.
Pengujian dinyatakan berhasil bila antara hasil yang diharapkan sama dengan hasil yang ditampilkan sistem. Skenario pengujian dan hasilnya.
PETAL Downloader
PDownloader adalah aplikasi desktop yang digunakan untuk mengunduh koleksi digital yang diinginkan oleh pengguna.
Analisis Kebutuhan Perangkat Lunak
Tahap analisis kebutuhan perangkat lunak merupakan proses pengumpulan kebutuhan yang diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun, rekayasa perangkat lunak (analisis) harus meliputi domain informasi, tingkah laku, fungsi, dan antarmuka yang diperlukan. Pada bagian ini akan dijelaskan mengenai analisis kebutuhan perangkat
lunak yang terdiri atas: analisis SID, kebutuhan fungsional, karakteristik pengguna, dan pemodelan kebutuhan fungsional.
a. Analisis Session ID (SID)
Session ID (SID) adalah sebuah kode unik yang merupakan input bagi PDownloader. SID adalah MMD5 (Modified MD5) yang merupakan hasil enkripsi dari ID koleksi yang digabung dengan waktu di server ketika terjadi download request. SID dibangkitkan dengan menggunakan algoritma MD5, sehingga akan bersifat unik untuk setiap koleksi per satuan waktu. SID dibangkitkan oleh PETAL Server.
Ju du l : A Test bed for I ndonesian Test Ret rieval
Pe n ga r a n g : Jelit a Asian, Hugh E.William s
Ka t e gor i : Tem u Kem bali I nform asi
Silakan m asukkan kode berikut di PDownloader unt uk m em ulai proses dow nload. Wakt u Anda 5 m enit
a 6 f8 f6 c2 b9 9 5 0 b9 5 1 b3 7 bbf4 1 4 be 1 d0 e
b. Kebutuhan Fungsional
Kebutuhan fungsional menggambarkan seluruh fungsi yang dibutuhkan oleh PDownloader. Kebutuhan fungsional dapat dilihat pada Tabel 9.
Tabel 9 Fungsi produk PDownloader
Kode
Fungsional Deskripsi
PD_1.1 Menerima input SID yang berasal dari pengguna
PD_1.2 Membangkitkan VID
PD_1.3 Mengirim SID dan VID ke PETAL Server
PD_1.4 Menyimpan koleksi yang diunduh PD_1.5 Menghentikan proses simpan
koleksi
PD_1.6 Melanjutkan proses simpan koleksi yang terhenti
PD_1.7 Keluar dari aplikasi PDownloader
c. Karakteristik Pengguna
Pengguna PDownloader adalah pengguna umum atau anggota perpustakaan yang menginginkan koleksi digital tertentu dan sudah melakukan download request. Karakteristik dan hak akses yang dimiliki oleh pengguna dapat dilihat pada Tabel 10.
d. Pemodelan Kebutuhan Fungsional Diagram Konteks
Pada diagram konteks, terdapat dua entitas dari PDownloader yaitu pengguna dan PETAL Server.
Tabel 10 Karakteristik pengguna Kategori Pengguna Kode Fungsional Tugas Pengguna Umum PD_1.1 PD_1.4 PD_1.5 PD_1.6 PD_1.7 Mengunduh koleksi digital
Entitas pengguna akan memberikan input SID dan menerima koleksi digital yang diinginkan, sedangkan entitas Petal Server akan menerima VID dan memberikan input koleksi digital yang diinginkan oleh pengguna. Diagram konteks PDownloader dapat dilihat pada Gambar 7.
Gambar 7 Diagram konteks PDownloader.
DFD Level 1
Pada DFD level 1 terdiri dari tiga buah proses. Proses pertama adalah membangkitkan VID dari SID yang telah diberikan oleh pengguna. Yang kedua adalah proses menyimpan koleksi digital yang telah diunduh oleh pengguna. Dan yang ketiga adalah proses kelola terminasi. Terminasi yang terjadi adalah perubahan status pengiriman data yang terjadi, yaitu pause dan resume. DFD Level 1 PDownloader dapat dilihat pada Gambar 8, sedangkan proses kelola terminasi dapat dilihat pada Tabel 11.
Perancangan Sistem
Perancangan merupakan langkah pertama dalam pengembangan bagi setiap produk atau sistem yang direkayasa. Proses perancangan aplikasi ini terbagi menjadi lima, yaitu perancangan arsitektur, perancangan antarmuka, perancangan input, perancangan proses, dan perancangan output. Secara lengkap, perancangan sistem ini dijelaskan pada Lampiran 1 dan Lampiran 2.
Gambar 8 DFD Level 1 PDownloade Tabel 11 CSPEC Proses 3 Kelola Terminasi
Kon
r.
trol Proses
Terminasi Nilai Simpan Keterangan
Pause off Ketika tombol pa
(0) use diaktifkan, pros ak l (0) maka es simpan tid akan berjalan (off). Pengaktifan tombo
pause ini juga akan mengaktifkan tombol resume status terminasi Resume (1) on (1) an e h Ketika tombol resume ditekan, proses simpan ak kembali berjalan (on). Proses resum
yang terjadi akan melanjutkan
download pada bagian koleksi yang belum terundu
a. Perancangan Arsitek
Pada PDownloader, pengguna akan
m SID yang
dipe
tur
me berikan input berupa
roleh dari PETAL Server. Oleh PDownloader, SID akan digabung dengan dua kunci lain yang telah ditentukan sebelumnya untuk dienkripsi menggunakan algoritma MD5, sehingga terciptalah Verification ID (VID). Setelah PDownloader membuka koneksi, SID dan
PETAL Server Pengguna
PDownloader digital 1 generate VID pengguna SID
perintah terminasi
VID PETAL Server storage 2 simpan koleksi 3 kelola terminasi SPEC koleksi status terminasi C koleksi VID SID koleksi koleksi digital
VID akan dikirimkan ke server untuk divalidasi. Validasi dilakukan dengan cara mengecek apakah SID dan VID yang dikirim oleh PDownloader sesuai dengan SID yang telah dibangkitkan sebelumnya oleh server. Jika validasi berhasil, maka PDownloader dapat memulai proses download dan menyimpan koleksi digital yang diinginkan. Ketika proses download sedang berlangsung, pengguna juga dapat melakukan pause dan resume. PDownloader juga menyediakan sebuah progress ba suali proses download. b. Perancangan Antarmuka r sebagai vi sasi ownloader ntuk input SID input, pengguna sukkan SID yang telah armuka PDownloader. d. menjelaskan PDownloader. Pera Tab Deskripsi Perancangan halaman PD terdiri atas: bagian text box (u
), tombol untuk memulai proses download, tombol untuk keluar dari PDownloader (exit), tombol untuk menghentikan sementara proses download (pause), dan tombol untuk melanjutkan proses download (resume). Perancangan antarmuka aplikasi ini dapat dilihat pada Gambar 9.
c. Perancangan Input
Pada perancangan akan diminta untuk mema
diperoleh pada bagian text box yang telah tersedia pada PDownloader seperti yang terlihat pada Gambar 9.
Gambar 9 Perancangan ant
Perancangan Proses
Perancangan proses proses-proses pada
ncangan proses aplikasi dijelaskan pada Tabel 12.
el 12 Perancangan proses PDownloader
Proses
Generate
VID
Membangkitkan VID dan dikirimkan ke server untuk divalidasi
Open URL Membuat koneksi ke server untuk memastikan bahwa server dalam kondisi online
Ambil nama
file
Mengambil nama koleksi digital yang akan diberikan dari server
Simpan ke eksi digital yang
storage
Menyimpan kol
telah diambil ke tempat yang diinginkan oleh pengguna Tutup URL Mengakhiri koneksi ke server yang
telah dibuat sebelumnya
an
Penjelasan tentang perancangan output
u hat pada Tabel
13. Tab
Pengguna Output Keterangan
e. Per cangan Output
unt k pengguna dapat dili
el 13 Perancangan output PDownloader
Pengguna koleksi Menyimpan koleksi jurnal umum j yang te leh
penggu
urnal lah diunduh o na Implementasi a. Lingkungan Implementasi Keras igunakan PDownloader ini adal ry DDRAM 512 MB yang digunakan atan aplikasi PDo b.
Bahasa pemrograman yang digunakan
a PDownloader
adal
Perangkat
Perangkat keras yang d dalam pembuatan
ah:
• Processor Intel Pentium 4 2,4 GHz
• Memo
text box untuk SID PE
• Hard disk 80 GB.
Perangkat Lunak
Perangkat lunak dalam pembu
wnloader ini adalah:
• Microsoft Windows XP Professional Edition Service Pack 2
• Microsoft Visual Basic 6.0
Implementasi Program
dal m implementasi aplikasi
ah Visual Basic 6.0. Ada tiga library yang digunakan dalam pembuatan PDownloader yaitu Microsoft Common Dialog Control 6.0 (SP6), Microsoft Windows Common Control 6.0 (SP4), Microsoft Winsock Control 6.0 (SP5). Ketiga komponen ini secara otomatis akan TAL’s Downloader
Download/Pause/Resume
Progress bar
tersedia ketika dilakukan proses instalasi Visual Basic 6.0.
Untuk membangkitkan VID digunakan modul MD5Driver.bas. Progress bar dan alamat server diatur dalam form1.frm. Fun a, terdapat u yang n una untuk mem rsebut terdapat sebu h tombol “exit” yang berguna untuk kelu dari PDownlaoader. Ketika
PDo
gsi untuk membuka koneksi, mengambil nama koleksi digital, menyimpan ke storage, pause, dan resume diatur dalam sebuah user control ctlwinsockdownloader.ctl. Implementasi ini dapat dilihat pada Tabel 14.
c. Implementasi Antarmuka
Di bagian atas jendela utam seb ah kalimat singkat me ginformasikan kepada pengg
berikan input SID ke PDownloader. Di bawah kalimat tersebut terdapat sebuah textbox yang berfungsi sebagai tempat input SID dan tombol untuk memulai proses download. Jika tombol “download“ diklik tanpa mengisi SID, maka akan tampil sebuah layar pesan yang meminta pengguna untuk mengisi SID terlebih dahulu sebelum proses download bisa dimulai. Di bawah tombol “download”, terdapat sebuah frame download progress yang berisi progress bar dan label status. Progress bar akan memvisualisasikan perkembangan proses download yang sedang terjadi, sedangkan label status akan menginformasikan ukuran koleksi digital yang telah terunduh dan berapa ukuran total koleksi digital yang sedang diunduh. Label status juga menampilkan proses download menggunakan persentase.
Di bawah frame te a
ar
wnloader pertama kali diaktifkan, hanya tombol “download” dan “exit” saja yang terlihat, sedangkan tombol “pause” dan “resume” tidak ada. Untuk tombol yang aktif, ikon kursor akan berubah menjadi bentuk tangan ketika berada di atas tombol tersebut, sedangkan jika tidak aktif, ikon kursor tidak akan berubah. Tampilan layar utama PDownloader dapat dilihat pada Gambar 10.
Gambar 10 Tampilan layar utama PDownloader.
Tabel 14 Implementasi file untuk setiap modul
Modul File Keterangan
Generate VID form1.frm
MD5Driver.bas
Form1 mengatur kunci yang digunakan untuk membangkitkan VID, sedangkan modul MD5 mengatur fungsi hash MD5 nya. VID akan dikirim ke server untuk divalidasi
Progress bar Form1.frm Mengatur tampilan progress bar yang disesuaikan dengan proses
download dari koleksi yang diinginkan
Alamat server Form1.frm Menentukan URL dari server yang akan digunakan untuk mengirimkan SID dan VID yang siap untuk divalidasi Buka koneksi Form1.frm
ctlwinsockdownloader.ctl
Membuka koneksi ke server yang disesuaikan dengan alamat
server yang telah ditentukan sebelumnya Ambil nama file Form1.frm
ctlwinsockdownloader.ctl
Mengambil nama file yang akan disimpan Simpan file Form1.frm
ctlwinsockdownloader.ctl
Menentukan tempat penyimpanan dari koleksi jurnal yang akan diunduh
Pause Form1.frm
ctlwinsockdownloader.ctl
Menghentikan proses download yang sedang dilakukan
Resume Form1.frm
ctlwinsockdownloader.ctl
Memulai kembali proses download yang telah dihentikan sebelumnya
Ketika proses download sudah dimulai maka tombol “download” akan hilang dan digantikan oleh tombol “pause”, sedangkan tombol “exit” menjadi tidak aktif. Ketika tombol “pause” ditekan, proses download akan berhenti, tombol “pause”, tombol “resume” akan terlihat dan tombol “exit” akan aktif kembali.
Jika proses download sudah selesai, maka akan tampil sebuah popup window yang berisikan informasi bahwa proses download telah selesai. Tampilan antarmuka ketika proses download sedang berlangsung dapat dilihat pada Gambar 11. Tampilan antarmuka ketika proses download telah selesai dapat dilihat pada Gambar 12.
Pengujian
Pengujian aplikasi PDownloader menggunakan metode Black-Box yang merupakan pengujian pada spesifikasi program atau komponen. Proses pengujian ini dapat ditentukan dengan mempelajari masukan dan kemungkinan hasilnya.
Pengujian dinyatakan berhasil bila antara hasil yang diharapkan sama dengan hasil yang diperoleh. Skenario pengujian dan hasil yang diperoleh dapat dilihat secara lengkap pada Lampiran 3.
Kelebihan dan Kekurangan Perangkat Lunak
a. Kelebihan Perangkat Lunak
Aplikasi ini digunakan untuk melakukan download terhadap koleksi digital yang diinginkan oleh pengguna. SID yang telah diperoleh melalui PETAL Server akan dienkripsi menjadi VID, kemudian akan dikirimkan kembali ke PETAL Server untuk divalidasi. Jika berhasil, maka koleksi yang diinginkan akan dapat diunduh. PDownloader berbasis desktop dan tidak memiliki basis data. Penggunaan aplikasi ini tidak terbatas pada waktu, dengan catatan harus ada input berupa SID. PDownloader juga telah memiliki threads yang berupa penggunaan progress bar sehingga program tidak akan hang bila terjadi waktu tunggu yang sangat lama.
Gambar 11 Tampilan layar utama PDownloader ketika proses download sedang berlangsung.
Gambar 12 Tampilan layar utama PDownloader ketika proses download telah selesai.
b. Kekurangan Perangkat Lunak
Aplikasi ini terbatas pada koneksi yang bersifat direct connection, pada pengembangan berikutnya diharapkan aplikasi memiliki fitur untuk melakukan konfigurasi proxy sehingga dapat dipergunakan dalam sebuah jaringan yang memiliki proxy. Aplikasi ini juga tidak memiliki fasilitas untuk melihat log file.
Pada pengembangan selanjutnya juga diharapkan aplikasi ini dapat dirancang menggunakan algoritma multi threads dan dapat melakukan parsing/splitting untuk setiap koleksi digital yang diunduh sehingga proses unduh akan dapat berjalan lebih cepat dan efisien.
• Menambahkan konfigurasi proxy, sehingga dapat tetap digunakan dalam sebuah jaringan yang menggunakan proxy.
• Menggunakan multi-threads untuk proses download, sehingga lebih efisien dalam manajemen memory ketika melakukan multi-download.
• Melakukan parsing/splitting untuk setiap koleksi digital yang diunduh, sehingga proses download berjalan lebih cepat.