3.3. Perancangan Sistem
Tahap perancangan sistem merupakan tahap di mana sistem akan dirancang atau didesain sesuai dengan hasil analisis sistem. Dalam perancangan sistem terdapat dua
bagian yaitu bagian perancangan bagan alir sistem dan perancangan antarmuka sistem. 3.3.1.
Bagan Alir Sistem Flowchart Flowchart digunakan untuk menggambarkan urutan proses secara mendetail dan
hubungan antarproses. Berikut adalah flowchart dari sistem yang akan dirancang. 1.
Flowchart sistem secara Umum
Gambar 3.19: Flowchart Sistem Secara Umum
2. Flowchart proses FLBE
Gambar 3.20: Flowchart Proses FLBE
3. Flowchart proses Sequitur
Mula i
Int n = text.length; Int count = 0;
String nval = ””; String dval = ””;
String substr = “”; List digram = new ArrayList;
Map rule = new HashMap; String newstr = new StringBuffer;
String text;
Int i = 0 Int j = 0
substr = text.substringj,j+2; count = text.length -
text.replacesubstr, .length 2;
count 1 ya
j = n; text=text.replaceAllsubstr,
nval; rule.putnval, substr;
count1 i++
in j++
Int k = 0 substr = text.substringk,k+2;
count = text.length - text.replacesubstr,
.length2;
String newsubstr = substr.replacenval,
rule.getnval.toString; text=text.replaceAllsubstr, nval;
k = -1; text2.indexOfnval==-1
ya String text2 =
text.replacesubstr, ; ya
j n tidak
ya
k text.length ya
k++ tidak
tidak
tidak tidak
Selesai
ya tidak
Gambar 3.21: Flowchart Proses Sequitur
4. Flowchart kompresi algoritma FLBE
Flowchart kompresi ini menunjukkan bagaimana proses kompresi algoritma FLBE pada sistem berjalan. Flowchart dapat dilihat pada gambar 3.22.
Mulai
Hitung jumlah dan frekuensi kemunculan karakter
Simpan dalam character dan frequency. Buat tabel kode FLBE
Tambahkan Padding dan Flagging di akhir Bit String.
Melakukan Proses Encode pada Bit String.
Selesai String text;
List character; List frequency;
Membuat bit string dari tabel kode
berdasarkan character.
Baca String dari file input .txt atau .doc dan simpan
ke variabel text.
Membuat File output .h dan .flb
Gambar 3.22: Flowchart Kompresi Algoritma FLBE
5. Flowchart Kompresi algoritma Sequitur
Flowchart kompresi ini menunjukkan bagaimana proses kompresi algoritma Sequitur pada sistem berjalan. Flowchart dapat dilihat pada gambar 3.23.
Mulai
Hitung jumlah pasangan karakter yang muncul lebih dari 2 kali lalu simpan ke dalam
digram dan berikan simbol pada nonterm A-Z
Buat List rule
Selesai String text;
List digram; List nonterm
String[] rule;
Tukar digram ke simbol nonterm
Baca String dari file input .txt atau .doc dan simpan
ke variabel text.
Membuat File output .h dan .sqr
Gambar 3.23: Flowchart Kompresi Algoritma Sequitur
6. Flowchart dekompresi algoritma FLBE
Flowchart dekompresi ini menunjukkan bagaimana proses dekompresi algoritma FLBE pada sistem berjalan. Flowchart dapat dilihat pada gambar 3.24.
Mulai
Baca code dan character dari file header .h dan simpan ke variabel code dan
character. Melakukan Proses
Decode pada Bit String.
Membuat File output Hasil dekompresi
.txt atau .doc Selesai
String text; List character;
String[] code;
Mengubah Bit String menjadi String berdasarkan
character dan code Baca Bit String dari file input
.flb dan simpan ke variabel text.
Gambar 3.24: Flowchart Dekompresi Algoritma FLBE
7. Flowchart dekompresi algoritma Sequitur
Flowchart dekompresi ini menunjukkan bagaimana proses dekompresi algoritma Sequitur pada sistem berjalan. Flowchart dapat dilihat pada gambar 3.25.
Mulai
Baca rule dari file header .h dan simpan ke variabel nonterm.
Melakukan Proses Pencocokan text dengan
rule.
Membuat File output Hasil dekompresi
.txt atau .doc Selesai
String text; List nonterm;
String[] rule;
Mengubah simbol nonterminal menjadi digram
berdasarkan rule Baca string dari file input
.sqr dan simpan ke variabel text.
Gambar 3.25: Flowchart Dekompresi Algoritma Sequitur
3.3.2. Antarmuka Sistem Interface
Antarmuka sistem menggambarkan bagaimana perangkat lunak, sistem, dan user berinteraksi. Pada sistem ini terdapat 3 form, di antaranya form halaman utama, form
compression, dan form decompression. 1.
Form halaman utama Pada form halaman utama terdapat dua menu compression dan decompression,
dan tiga submenu compress, exit pada menucompression dan decompress pada menudecompression.
Gambar 3.26: Halaman Utama Keterangan:
1. Merupakan Title dari JFrame.
2. Merupakan JMenu untuk membuka SubMenuCompression yaitu Compress,
Exit. 3.
Merupakan SubMenu untuk membuka halaman Compression. 4.
Merupakan SubMenu untuk menutup sistem. 5.
Merupakan JMenu untuk membuka SubMenuDecompression yaitu
Decompress. 6.
Merupakan SubMenu untuk membuka halaman Decompression.
7. Merupakan JMenu untuk membuka SubMenuAboutme yaitu Author.
8. Merupakan SubMenu untuk menampilkan halaman Author.
9. Merupakan Background sistem.
2. Form kompresi
Pada form kompresi adalah form yang digunakan untuk melakukan proses kompresi. Tampilan halaman kompresi dapat dilihat pada gambar 3.27.
COMPRESSION
Result FLBE
Sequitur Input Text File
Open File Header Save
JTextField JTextField
….. …..
Compress Clear
JTextArea
2
Chose Algorithm 1
3
Close FLBE
Sequitur
JTextArea
4 5
6
7 8
Gambar 3.27: Halaman Kompresi Keterangan:
1. Merupakan menu yang digunakan untuk memilih algoritma yang akan
digunakan untuk proses kompresi dengan menggunakan JRadioButton. 2.
Merupakan JButton untuk membuka direktori open file. 3.
Merupakan JButton untuk membuka direktori save file. 4.
Merupakan JButton untuk memproses kompresi file. 5.
Merupakan JButton untuk membersihkan informasi data yang tampil pada form.
6. Merupakan JButton untuk menutup form compression.
7. Merupakan JTextArea untuk menampilkan informasi file yang dikompresi
menggunakan algoritma FLBE. 8.
Merupakan JTextArea untuk menampilkan informasi file yang dikompresi menggunakan algoritma Sequitur.
3. Form Dekompresi
Pada form dekompresi adalah form yang digunakan untuk melakukan proses dekompresi. Tampilan halaman dekompresi dapat dilihat pada gambar 3.28.
DECOMPRESSION
Result FLBE
Sequitur Input Compressed File
Open .flb or .sqr JTextField
JTextField …..
…..
Decompress Clear
JTextArea
2
Chose Algorithm 1
3
Close FLBE
Sequitur
JTextArea
4 5
6
7 8
Save File
Gambar 3.28: Halaman Dekompresi Keterangan:
1. Merupakan menu yang digunakan untuk memilih algoritma yang akan
digunakan untuk proses kompresi dengan menggunakan JRadioButton. 2.
Merupakan JButton untuk membuka direktori open file yang telah dikompresi. 3.
Merupakan JButton untuk membuka direktori save file. 4.
Merupakan JButton untuk memproses dekompresi file.
5. Merupakan JButton untuk membersihkan informasi data yang tampil pada
form. 6.
Merupakan JButton untuk menutup form decompression. 7.
Merupakan JTextArea untuk menampilkan informasi file yang dikompresi menggunakan algoritma FLBE.
8. Merupakan JTextArea untuk menampilkan informasi file yang dikompresi
menggunakan algoritma Sequitur.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM