PERANCANGAN SISTEM
3.5 Perancangan Aplikasi
3.5.1 Data Flow Diagram dan Kamus Data
DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan darimana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antaradata yang tesimpan dan proses yang dikenakan pada data tersebut. DFD menunjukan hubungan antar data pada sistem dan proses pada sistem.
Data flow diagram yang dirancang terdiri dari 2 bagian aplikasi, yaitu untuk
proses kompresi, dan proses dekompresi. Karena kedua bagian ini terpisah dan dapat digunakan hanya salah satu saja ketika menggunakan aplikasi.
3.5.1.1 Data Flow Diagram Proses Kompresi
Untuk data flow diagram proses kompresi level 0 dapat dilihat pada gambar 3.16 berikut : P.0 Aplikasi Kompresi File User Jenis_algo, Parameter_algo, File_asli File_terkompresi, Statistik_proses
Gambar 3.16 Data Flow Diagram Proses Kompresi Level 0
Data Flow Diagram Proses Kompresi Level 0 di atas menggambarkan
sistem kompresi secara garis besar yang memperlihatkan masukan, proses, dan keluaran dari sistem yang akan dirancang. Proses yang terjadi pada DFD di atas dapat dijelaskan dengan menggunakan spesifikasi proses pada tabel 3.18 berikut :
Tabel 3.18 Spesifikasi Proses DFD Kompresi Level 0
No / Nama Proses Input Keterangan Proses Output P.0 / Aplikasi
Kompresi File
Jenis_algo, Parameter_algo, File_asli
Pada proses ini, file asli diproses menjadi file terkompresi berdasarkan parameter dan jenis algoritma yang ditentukan oleh user
File_terkompresi, Statistik_proses
Dari DFD diatas, Proses 0 dapat dijabarkan menjadi proses 4 yang lebih kecil. Proses tersebut dapat dilihat pada gambar 3.17. Berikut ini adalah uraian proses yang terjadi pada program.
Andre Pratama : Studi Perbandingan Kinerja Algoritma Kompresi Lempel Ziv 77, Lempel Ziv 78 Dan Lempel Ziv Welch Pada File Text, 2010.
70 P.1 Pembacaan File Asli User File_asli File_terkompresi P.2 Pengecekan Jenis dan Parameter Algoritma Jenis_algo, Parameter_algo P.3 Proses Kompresi Bit_stream_asli Jenis_algo, Parameter_algo P.4 Pembuatan File
Hasil Kompresi Bit_stream_terkompresi
Statistik_proses
Gambar 3.17 Data Flow Diagram Proses Kompresi Level 1
Dari DFD Level 1 Proses P.0 terdapat 4 proses utama. Proses tersebut dapat diuraikan pada tabel 3.19 spesifikasi proses berikut ini :
Tabel 3.19 Spesifikasi Proses DFD Kompresi Level 1
No / Nama Proses Input Keterangan Proses Output
Proses P.1/ Pembacaan File Input
File_asli File asli dari user diupload ke server,
lalu dibaca dan disimpan ke dalam sebuah variabel sebagai bit stream.
Bit_stream_input Proses P.2/ Pengecekan Jenis dan Parameter Algoritma Jenis_algo, Parameter_algo
Pemeriksaan apakah parameter dari user sesuai dengan jenis algoritma yang digunakan. Jenis_algo, Parameter_algo Proses P.3/ Proses Kompresi Jenis_algo, Parameter_algo, Bit_stream_asli
File input yang telah berupa bit
stream dikompresi dengan algoritma
dan parameter yang ditentukan user. Selama proses berlangsung, dicatat juga statistik mengenai proses.
Bit_stream_ terkompresi, Statistik_proses Proses P.4 / Pembuatan File Hasil Kompresi Bit_stream_ terkompresi
Bit stream terkompresi hasil proses
kompresi dimasukkan ke dalam file akhir dengan beberapa tambahan
header menjadi file terkompresi
3.5.1.2 Data Flow Diagram Proses Dekompresi
Untuk data flow diagram proses dekompresi level 0 dapat dilihat pada gambar 3.18 berikut : P.0 Aplikasi Dekompresi File User File_terkompresi File_asli, Statistik_proses
Gambar 3.18 Data Flow Diagram Proses Dekompresi Level 0
Proses yang terjadi pada diagram di atas dapat dijelaskan dengan menggunakan spesifikasi proses pada tabel 3.20 berikut :
Tabel 3.20 Spesifikasi Proses DFD Dekompresi Level 0 No / Nama Proses Input Keterangan Proses Output Aplikasi
Dekompresi File
File_terkompresi Pada proses ini, file terkompresi akan diproses untuk menghasilkan file asli (file sebelum dikompresi)
File_asli, Statistik_proses
Dari DFD diatas, Proses 0 dapat dijabarkan menjadi 3 proses yang lebih kecil.. Proses tersebut dapat dilihat pada gambar 3.19, DFD Level 1 dari Proses P.0. Berikut ini adalah uraian proses yang terjadi pada program.
Andre Pratama : Studi Perbandingan Kinerja Algoritma Kompresi Lempel Ziv 77, Lempel Ziv 78 Dan Lempel Ziv Welch Pada File Text, 2010.
72 P.1 Pembacaan File Terkompresi User File_terkompresi File_asli P.2 Proses Dekompresi Bit_stream_terkompresi, Jenis_algo, Parameter_algo P.3 Pembuatan File Hasil Dekompresi Bit_stream_asli Statistik_proses
Gambar 3.19 Data Flow Diagram Proses Dekompresi Level 1
Dari DFD level 1 proses dekompresi P.0 terdapat 3 proses utama. Proses tersebut dapat diuraikan pada tabel spesifikasi proses berikut ini :
Tabel 3.21 Spesifikasi Proses DFD Dekompresi Level 0
No / Nama Proses Input Keterangan Proses Output
Proses P.1/ Pembacaan File Terkompresi
File_terkompresi File terkompresi akan dikirim (upload) ke server, diperiksa apakah file tersebut adalah hasil kompresi, lalu file dibaca dan dari
header file dapat diketahui jenis
algoritma dan parameternya.
Bit_stream_ terkompresi, Jenis_algo, Parameter_algo Proses P.2/ Proses Dekompresi Bit_stream_ terkompresi, Jenis_algo, Parameter_algo
File terkompresi yang telah berupa
bit stream dikodekan kembali untuk
mendapatkan bit stream file asli. Selama proses berlangsung, dicatat juga statistik mengenai proses.
Bit_stream_asli, Statistik_proses
Proses P.4 / Pembuatan File Hasil Dekompresi
Bit_stream_asli Bit stream hasil proses dekompresi
dimasukkan ke dalam file akhir. File akhir ini harus sama dengan file asli (file sebelum dikompresi)
3.5.1.3 Kamus Data
Tabel 3.22 mendaftarkan rincian data dan berkas yang digunakan pada data flow
diagram (DFD) yang telah dipaparkan sebelumnya.
Tabel 3.22 Kamus Data
Nama Tipe Data Deskripsi
Jenis_algo String Jenis algoritma yang digunakan, hanya terdiri dari LZ77, LZ78 dan LZW.
Parameter_algo Array of Integer
Parameter yang digunakan dalam algoritma. Untuk LZ77, terdapat 2 buah parameter, yaitu
history buffer dan lookahead buffer,
sedangkan untuk LZ78 dan LZW hanya terdapat 1 parameter, berupa besar dictionary. File_asli File File asli yang akan dikompresi atau file hasil
proses dekompresi.
File_terkompresi File File hasil proses kompresi. Statistik_proses Array of
String
Merupakan kumpulan dari string yang terdiri dari: nama file, ukuran file, lama proses, total jumlah token, total elemen dictionary, ukuran token, rasio kompresi, output token, dan
output dictionary.
Bit_stream_asli String Hasil dari pembacaan file asli atau pembacaan file hasil proses dekompresi, seluruh isi file dijadikan sebuah string panjang.
Bit_stream_terkompresi String Hasil dari proses kompresi, berupa sebuah
Andre Pratama : Studi Perbandingan Kinerja Algoritma Kompresi Lempel Ziv 77, Lempel Ziv 78 Dan Lempel Ziv Welch Pada File Text, 2010.
74