63
50 BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran Umum Permasalahan Proses pertukaran file dengan bentuk teks, audio, video, gambar dan lainnya semakin meluas pada berbagai kalangan. File-file tersebut ada kalanya semakin membesar dan memerlukan media penyimpanan yang semakin besar pula. Apabila ukuran file terus membesar akan menyebabkan backup terhadap file akan semakin sulit dilakukan serta menambah waktu dan menghabiskan kapasitas bandwidth dalam proses pertukaran file yang terjadi dalam jaringan. Dengan semakin banyaknya kapasitas bandwidth yang dibutuhkan dalam proses pertukaran file maka biaya yang dikeluarkan pun akan bertambah pula. Salah satu faktor yang menyebabkan biaya mahal, dikarenakan infrastruktur jaringan internet yang terhubung dengan pengguna akhir memiliki harga yang mahal. Khususnya di Indonesia dimana harga bandwidth akan semakin mahal berbanding lurus antara harga dan kapasitas. Ada beberapa pemecahan masalah yang dapat ditawarkan, diantaranya meningkatkan kapasitas bandwidth atau meminimalkan ukuran file. Kedua solusi diatas dapat dilakukan, namun pengompresan file merupakan prioritas utama. Hal ini dikarenakan pengompresan file akan menghemat bandwitdh dengan cara menghilangkan pengulangan karakter untuk mengurangi jumlah data yang ditransaksikan serta menurunkan penggunaan bandwidth yang digunakan dalam jaringan. Oleh karena itu, diperlukan sebuah piranti lunak ataupun piranti keras yang dapat meminimalkan ukuran file yang ditransaksikan dalam jaringan tanpa menghilangkan sebagian atau keseluruhan

BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

  • Upload
    vunga

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

50

BAB 3

ANALISA DAN PERANCANGAN SISTEM

3.1 Gambaran Umum Permasalahan

Proses pertukaran file dengan bentuk teks, audio, video, gambar dan lainnya

semakin meluas pada berbagai kalangan. File-file tersebut ada kalanya semakin

membesar dan memerlukan media penyimpanan yang semakin besar pula. Apabila

ukuran file terus membesar akan menyebabkan backup terhadap file akan semakin sulit

dilakukan serta menambah waktu dan menghabiskan kapasitas bandwidth dalam proses

pertukaran file yang terjadi dalam jaringan. Dengan semakin banyaknya kapasitas

bandwidth yang dibutuhkan dalam proses pertukaran file maka biaya yang dikeluarkan

pun akan bertambah pula. Salah satu faktor yang menyebabkan biaya mahal,

dikarenakan infrastruktur jaringan internet yang terhubung dengan pengguna akhir

memiliki harga yang mahal. Khususnya di Indonesia dimana harga bandwidth akan

semakin mahal berbanding lurus antara harga dan kapasitas.

Ada beberapa pemecahan masalah yang dapat ditawarkan, diantaranya

meningkatkan kapasitas bandwidth atau meminimalkan ukuran file. Kedua solusi diatas

dapat dilakukan, namun pengompresan file merupakan prioritas utama. Hal ini

dikarenakan pengompresan file akan menghemat bandwitdh dengan cara menghilangkan

pengulangan karakter untuk mengurangi jumlah data yang ditransaksikan serta

menurunkan penggunaan bandwidth yang digunakan dalam jaringan. Oleh karena itu,

diperlukan sebuah piranti lunak ataupun piranti keras yang dapat meminimalkan ukuran

file yang ditransaksikan dalam jaringan tanpa menghilangkan sebagian atau keseluruhan

Page 2: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

51

file. Perbedaan mendasar antara piranti lunak dengan piranti keras terletak pada proses

penanganan transaksi data, dimana piranti keras langsung bekerja pada layer fisikal

menangani proses komputasi sehingga akan menyebabkan berkurangnya proses yang

harus dijalankan, sedangkan proses yang dilakukan piranti lunak melewati lebih banyak

proses dari layer aplikasi sampai pada layer fisikal, perbedaan lainnya adalah biaya yang

harus dikeluarkan lebih besar bila dilakukan penambahan piranti keras. Penggunaan

piranti lunak dikarenakan faktor biaya yang lebih murah serta tidak perlu menambah

peralatan yang baru kedalam jaringan yang telah ada. Penggunaan sistem dibutuhkan

agar proses pengiriman file antar komputer dapat berlangsung lebih cepat dan

menurunkan tingkat penggunaan bandwidth, tanpa harus menambah biaya yang besar.

3.2 Gambaran Umum Kompresi File

Dengan semakin membesarnya ukuran file yang terjadi dalam transaksi

jaringan, maka diperlukan suatu pemecahan yang terbaik. Sesuai dengan gambaran

permasalahan diatas, pemampatan ukuran dari file yang ditransaksikan dalam jaringan

dengan tetap menjaga integritasnya mampu mengatasi masalah keterbatasan bandwidth

yang tersedia sehingga dapat mengatasi transaksi jaringan yang semakin lama semakin

banyak.

Kompresi adalah proses pengubahan sekumpulan file menjadi suatu bentuk

kode untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi file.

Saat ini terdapat berbagai tipe algoritma kompresi antara lain : Huffman Coding, LZW,

BWT, Run Length dan lainnya. Berdasarkan tipe peta kode yang digunakan untuk

Page 3: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

52

mengubah pesan awal (isi file input) menjadi sekumpulan codeword, metode kompresi

terbagi menjadi dua kelompok, yaitu :

1. Metode Statik

Menggunakan peta kode yang selalu sama. Metode ini

membutuhkan dua fase (two-pass), fase pertama untuk menghitung

probabilitas kemunculan tiap simbol atau karakter dan menentukan peta

kodenya, dan fase kedua untuk mengubah pesan menjadi kumpulan kode

yang akan ditransmisikan. Salah satu contohnya adalah Algoritma

Huffman.

2. Metode Dinamik (Adaptif)

Menggunakan peta kode yang dapat berubah dari waktu ke waktu.

Metode ini disebut adaptif karena peta kode mampu beradaptasi terhadap

perubahan karakteristik isi file selama proses kompresi berlangsung.

Metode ini bersifat one-pass, karena hanya diperlukan satu kali pembacaan

terhadap isi file. Salah satu contohnya adalah algoritma LZW.

Berdasarkan teknik pengkodean atau pengubahan simbol yang digunakan,

metode kompresi dapat dibagi ke dalam tiga kategori, yaitu :

1. Metode Symbolwise

Menghitung peluang kemunculan dari tiap simbol dalam file input,

lalu mengkodekan satu simbol dalam satu waktu. Dimana simbol yang

Page 4: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

53

sering muncul diberi kode yang lebih pendek dibandingkan simbol yang

lebih jarang muncul, salah satu contohnya adalah algoritma huffman.

2. Metode Dictionary

Menggantikan karakter atau fragmen dalam file input dengan indeks

lokasi dari karakter atau fragmen tersebut dalam sebuah kamus

(dictionary). Salah satu contohnya adalah algoritma LZW.

3. Metode Predictive

Menggunakan model finite-context atau finite-state untuk

memprediksi distribusi probabilitas dari simbol-simbol selanjutnya.

Ada beberapa faktor yang sering menjadi pertimbangan dalam memilih suatu

metode kompresi yang tepat, yaitu kecepatan kompresi, sumber daya yang dibutuhkan

(memori, kecepatan prosesor), ukuran file hasil kompresi, besarnya redudansi dan

kompleksitas algoritma. Tidak ada metode kompresi yang paling efektif untuk semua

jenis file.

Dalam perbandingan ini, diimplementasikan dua buah metode kompresi, yaitu

algoritma huffman dan algoritma LZW yang mewakili metode statik dan metode

dinamik. Kedua metode ini diujikan untuk mengkompresi dan mendekompresi berbagai

tipe dan ukuran file yang berbeda. Setelah itu akan dilakukan analisis statistik untuk

Page 5: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

54

membandingkan kinerja dari kedua metode ini berdasarkan dua faktor, yaitu rasio atau

perbandingan ukuran file hasil kompresi terhadap file asli dan kecepatan kompresinya.

3.3 Gambaran Umum Kompresi Huffman Coding

Algoritma Huffman dibuat oleh seorang mahasiswa MIT bernama David

Huffman, merupakan salah satu metode paling lama dan paling terkenal dalam kompresi

teks. Algoritma Huffman menggunakan prinsip pengkodean yang mirip dengan kode

Morse, yaitu tiap karakter (simbol) dikodekan hanya dengan rangkaian beberapa bit,

dimana karakter yang sering muncul dikodekan dengan rangkaian bit yang pendek dana

karakter yang jarang muncul dikodekan dengan rangkaian kode bit yang lebih panjang.

Secara garis besar algoritma Huffman dapat dijabarkan sebagai berikut :

1. Fase pertama

Baca (scan) file input dari awal hingga akhir untuk menghitung frekuensi

kemunculan tiap karakter dalam file. n ← jumlah semua karakter dalam file

input. T ← daftar semua karakter dan nilai peluang kemunculannya dalam

file input. Tiap karakter menjadi node daun pada pohon Huffman.

2. Fase kedua

Ulangi sebanyak (n -1) kali :

a. Item m1 dan m2 ← dua subset dalam T dengan nilai peluang yang

terkecil.

b. Gantikan m1 dan m2 dengan sebuah item {m1,m2} dalam T, dimana

nilai peluang dari item yang baru ini adalah penjumlahan dari nilai

peluang m1 dan m2.

Page 6: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

55

c. Buat node baru {m1, m2} sebagai father node dari node m1 dan m2

dalam pohon Huffman.

3. T sekarang tinggal berisi satu item, dan item ini sekaligus menjadi node

akar pohon Huffman.

Panjang kode untuk suatu simbol adalah jumlah berapa kali simbol tersebut

bergabung dengan item lain dalam T.

Sebagai contoh, dalam kode ASCII string 7 huruf “ABACCDA” membutuhkan

representasi 7 × 8 bit = 56 bit (7 byte), dengan rincian sebagai berikut:

01000001 01000010 01000001 01000011 01000011 01000100 01000001

A B A C C D A

Untuk mengurangi jumlah bit yang dibutuhkan, panjang kode untuk tiap karakter dapat

dipersingkat, terutama untuk karakter yang frekuensi kemunculannya besar. Pada string

di atas, frekuensi kemunculan A = 3, B = 1, C = 2, dan D = 1, sehingga dengan

menggunakan algoritma di atas diperoleh kode Huffman seperti pada Tabel 3.1

Tabel 3.1 Kode Huffman untuk “ABACCDA”

Simbol Frekuensi Peluang Kode Huffman A 3 3/7 0 B 1 1/7 110 C 2 2/7 10 D 1 1/7 111

Dengan menggunakan kode Huffman ini, string “ABACCDA”

direpresentasikan menjadi rangkaian bit : 0 110 0 10 10 111 0. Jadi, jumlah bit yang

Page 7: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

56

dibutuhkan hanya 13 bit. Dari Tabel 3.1 tampak bahwa kode untuk sebuah

simbol/karakter tidak boleh menjadi awalan dari kode simbol yang lain guna

menghindari kerancuan (ambiguitas) dalam proses dekompresi atau decoding. Karena

tiap kode Huffman yang dihasilkan unik, maka proses dekompresi dapat dilakukan

dengan mudah. Contoh : saat membaca kode bit pertama dalam rangkaian bit

“011001010110”, yaitu bit “0”, dapat langsung disimpulkan bahwa kode bit “0”

merupakan pemetaan dari simbol “A”. Kemudian baca kode bit selanjutnya, yaitu bit

“1”. Tidak ada kode Huffman “1”, lalu baca kode bit selanjutnya, sehingga menjadi

“11”.

Tidak ada juga kode Huffman “11”, lalu baca lagi kode bit berikutnya,

sehingga menjadi “110”. Rangkaian kode bit “110” adalah pemetaan dari simbol “B”.

Metode Huffman yang diterapkan dalam penelitian ini adalah tipe statik, dimana

dilakukan dua kali pembacaan (two-pass) terhadap file yang akan dikompresi. Pertama

untuk menghitung frekuensi kemunculan karakter dalam pembentukan pohon Huffman,

dan kedua untuk mengkodekan simbol dalam kode Huffman.

3.4 Gambaran Umum Kompresi LZW

Algoritma LZW dikembangkan dari metode kompresi yang dibuat oleh Ziv dan

Lempel pada tahun 1977. Algoritma ini melakukan kompresi dengan menggunakan

dictionary, dimana fragmen-fragmen teks digantikan dengan indeks yang diperoleh dari

sebuah “kamus”. Prinsip sejenis juga dilakukan dalam kode Braille, di mana kode-kode

khusus digunakan untuk merepresentasikan kata-kata yang ada.

Pendekatan ini bersifat adaptif dan efektif karena banyak karakter dapat

dikodekan dengan mengacu pada string yang telah muncul sebelumnya dalam teks.

Page 8: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

57

Prinsip kompresi tercapai jika referensi dalam bentuk pointer dapat disimpan dalam

jumlah bit yang sedikit dibandingkan string aslinya.

Secara garis besar algoritma LZW dapat dijabarkan sebagai berikut :

1. Dictionary diinisialisasi dengan semua karakter dasar yang ada:

{‘A’..’Z’,’a’..’z’,’0’..’9’}.

2. P ← karakter pertama dalam stream karakter.

3. C ← karakter berikutnya dalam stream karakter.

4. Apakah string (P + C) terdapat dalam dictionary ?

• Jika ya, maka P ← P + C (gabungkan P dan C menjadi string baru).

• Jika tidak, maka :

i. Output sebuah kode untuk menggantikan string P.

ii. Tambahkan string (P + C) ke dalam dictionary dan berikan

nomor/kode berikutnya yang belum digunakan dalam dictionary

untuk string tersebut.

iii. P ← C.

5. Apakah masih ada karakter berikutnya dalam stream karakter ?

• Jika ya, maka kembali ke langkah 2.

• Jika tidak, maka output kode yang menggantikan string P, lalu

terminasi proses (stop).

Sebagai contoh, string “ABBABABAC” akan dikompresi dengan LZW. Isi

dictionary pada awal proses diset dengan tiga karakter dasar yang ada: “A”, “B”, dan

“C”. Tahapan proses kompresi ditunjukkan pada Tabel 3.2. Kolom posisi menyatakan

Page 9: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

58

posisi sekarang dari stream karakter dan kolom karakter menyatakan karakter yang

terdapat pada posisi tersebut.

Kolom dictionary menyatakan string baru yang sudah ditambahkan ke dalam

dictionary dan nomor indeks untuk string tersebut ditulis dalam kurung siku. Kolom

output menyatakan kode output yang dihasilkan oleh langkah kompresi. Hasil proses

kompresi ditunjukkan pada Gambar 3.1.

Tabel 3.2 Tahapan proses kompresi LZW

Langkah Posisi Karakter Dictionary Output1. 1 A [4] A B [1] 2. 2 B [5] B B [2] 3. 3 B [6] B A [2] 4. 4 A [7] A B A [4] 5. 6 A [8] A B A C [7] 6. 9 C - - - [3]

Gambar 3.1 Proses kompresi LZW

Proses dekompresi pada LZW dilakukan dengan prinsip yang sama seperti

proses kompresi. Algoritma diberikan pada Gambar 3.1. Pada awalnya, dictionary

diinisialisasi dengan semua karakter dasar yang ada. Lalu pada setiap langkah, kode

stream karakter : a b b ab aba c

kode output : [1] [2] [2] [4] [7] [3]

frasa baru yang 4 5 6 7 8 ditambahkan ke = = = = = dictionary ab bb ba aba abac

Page 10: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

59

dibaca satu per satu dari stream kode, dikeluarkan string dari dictionary yang

berkorespondensi dengan kode tersebut, dan ditambahkan string baru ke dalam

dictionary. Tahapan proses dekompresi ini ditunjukkan pada Tabel 3.3. Metode LZW

yang diterapkan dalam penelitian ini bertipe dinamik, dimana hanya dilakukan satu kali

pembacaan (one-pass) terhadap file yang akan dikompresi. Pengkodean data dilakukan

secara on the fly, bersamaan dengan proses penambahan string baru ke dalam dictionary.

Proses algoritma dekompresi LZW dapat dijabarkan sebagai berikut :

1. Dictionary diinisialisasi dengan semua karakter dasar yang ada :

{‘A’..’Z’,’a’..’z’,’0’..’9’}.

2. CW ← kode pertama dari stream kode (menunjuk ke salah satu karakter

dasar).

3. Lihat dictionary dan output string dari kode tersebut (string.CW) ke stream

karakter.

4. PW ← CW; CW ← kode berikutnya dari stream kode.

5. Apakah string.CW terdapat dalam dictionary ?

Jika ada, maka :

i. output string.CW ke stream karakter

ii. P ← string.PW

iii. C ← karakter pertama dari string.CW

iv. tambahkan string (P+C) ke dalam dictionary

Jika tidak, maka :

i. P ← string.PW

ii. C ← karakter pertama dari string.PW

Page 11: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

60

iii. output string (P+C) ke stream karakter dan tambahkan string

tersebut ke dalam dictionary (sekarang berkorespondensi dengan

CW);

6. Apakah terdapat kode lagi di stream kode ?

Jika ya, maka kembali ke langkah 4.

Jika tidak, maka terminasi proses (stop).

Tabel 3.3 Tahapan proses dekompresi LZW

Langkah Kode Output Dictionary 1. [1] A --- 2. [2] B [4] A B 3. [2] B [5] B B 4. [4] A B [6] B A 5. [7] A B A [7] A B A 6. [3] C [8] A B A C

3.5 Perbandingan Hasil Kompresi Algoritma Huffman dengan LZW

Algoritma Huffman dan LZW merupakan contoh algoritma kompresi yang

digunakan sebagai perbandingan algoritma kompresi yang akan digunakan sebagai

algoritma kompresi yang baik digunakan dalam sistem ini. Perbandingan ini

menitikberatkan pada ukuran file hasil kompresi, rasio, waktu kompresi serta waktu

dekompresi. Sebagai bahan untuk perbandingan, digunakan file-file yang dipandang

cukup memadai untuk mewakili sebagian besar tipe file yang ada, yaitu :

1. File aplikasi ( Excel, Acrobat Reader, Powerpoint, Flash )

2. File object/biner ( file com, file sistem/dll, file hasil kompilasi : C, Java,

Borland Delphi )

3. File gambar ( file jpeg, file bitmap, file gif )

Page 12: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

61

4. File basis data ( Access, MySql )

5. File multimedia ( file mp3, file avi, file mpeg, file midi )

6. File Teks ( file txt, file doc, file ini - konfigurasi Windows )

7. File executable ( file exe )

8. File yang telah di kompresi ( file WinZip )

9. File source code ( html, c, cpp, pas )

Spesifikasi komputer dimana kedua algoritma ini dibandingkan adalah sebagai

berikut :

1. Prosesor : Intel Pentium 4 2.40 GHz.

2. Memory : DDRAM 256 MB.

3. Kapasitas penyimpanan (Harddisk) : 80 Gb.

4. Sistem Operasi : Windows XP Professional SP2

Tabel 3.4 Percobaan Perbandingan Kompresi Algoritma Huffman dan LZW

Ukuran Hasil Kompresi (Bytes)

Rasio Kompresi (%)

Waktu Kompresi (Mili Sekon)

Waktu Dekompresi (Mili

Sekon) No Tipe File

Ukuran File Asli (Bytes)

Huffman LZW Huffman

LZW Huffman LZW Huffman LZW 1 XLS 25,870,848 15,372,726 22,804,363 41 12 2.780 2.345 1.827 1.033 2 PDF 44,695,203 38,265,341 49,050,151 15 -10 5.625 4.531 4.782 1.766 3 PPT 10,210,816 9,669,276 13,525,766 6 -33 1.406 906 1.282 470 4 COM 306.597 248.541 289.414 19 6 190 46 46 61 5 DLL 23,013,732 17,970,264 23,291,046 22 -2 2.750 1.811 2.094 935 6 BMP 9,068,816 7,997,731 10,435,141 12 -16 1.406 764 1.000 359 7 JPG 19,836,161 19,513,350 27,801,845 2 -41 2.672 1.782 2.594 860 8 MDB 16,580,608 8,443,193 10,867,528 50 35 1.768 1.608 935 564 9 MP3 39,973,527 39,742,879 55,200,405 1 -39 4.952 4.375 5.141 1.750

10 MPG 470.000.000 454,228,000 624,066,000 4 -33 59.921 78.889 74.155 57.934 11 TXT 8,455,948 4,346,508 3,163,329 49 63 767 625 485 234 12 DOC 11,822,592 9,006,572 11,814,016 24 1 1.124 1.079 1.061 438 13 EXE 4,913,182 3,780,502 4,760,239 24 4 673 406 421 188 14 ZIP 46,572,690 46,196,210 63,746,236 1 -37 5.500 5.892 5.923 2.000 15 HTML 782,123 507,862 362,457 36 54 32 78 93 0 16 CPP 649,576 457.500 324,344 30 51 95 94 94 32

Page 13: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

62

3.5.1 Kesimpulan Perbandingan Hasil Kompresi Algoritma Huffman dengan

LZW

Dari data percobaan yang dilakukan dapat disimpulkan beberapa hal mengenai

perbandingan kinerja kedua algoritma kompresi yang telah diimplementasikan yaitu :

1. Secara rata-rata algoritma Huffman menghasilkan rasio file kompresi yang

baik (±21 %) , sedangkan dengan algoritma LZW rasio file yang dihasilkan

kurang baik (±0.9375 %).

2. Hasil kompresi Huffman lebih baik dibandingkan LZW pada kasus file

aplikasi, file object/biner , file sistem, file gambar, file basis data, file

multimedia, file executable, file hasil kompresi, file *.doc. Algoritma

Huffman memberikan hasil kompresi yang relatif hampir sama untuk setiap

kasus uji, sedangkan LZW memberikan hasil kompresi yang buruk (ukuran

file hasil kompresi bisa lebih besar dari file asli) untuk file tersebut.

3. Secara rata-rata algoritma LZW membutuhkan waktu kompresi yang

hampir sama dengan algoritma Huffman, Namun dalam proses dekompresi,

algoritma LZW lebih unggul dibandingkan dengan algoritma Huffman.

4. Kecepatan kompresi algoritma LZW secara signifikan berkurang pada file

*.xls, file object/biner , file sistem, file basis data, file multimedia, file

executable, file hasil kompresi, file *.doc. Namun berbeda dengan

algoritma Huffman yang kecepatan kompresinya hampir merata untuk

semua kategori file.

Dengan sejumlah kesimpulan diatas, maka pada sistem ini akan dirancang

dengan menggunakan algoritma kompresi Huffman. Penyebab utama penggunaan

Page 14: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

63

algoritma ini karena proses kompresi yang dilakukan oleh algoritma Huffman dapat

meminimalkan atau memperkecil ukuran file pada hampir semua tipe file. Dan waktu

kompresi serta dekompresi yang diperlukan bergantung pada banyaknya pengulangan isi

karakter yang terdapat dalam file yang akan dikompresi.

3.6 Perancangan Proses Program Kompresi

Perancangan proses program kompresi secara umum menjelaskan, bahwa file

yang akan dikompres yang dijadikan input, akan diolah komputer sedemikian rupa.

Sehingga diperoleh output file hasil kompresi yang lebih kecil ukurannya dan integritas

data didalamnya tetap terjaga dengan baik.

Gambar 3.2 Proses kompresi

Program kompresi akan menggunakan algoritma Huffman. Prinsip pengkodean

yang digunakan oleh algoritma ini mirip dengan kode Morse, yaitu tiap karakter

(simbol) dikodekan hanya dengan rangkaian beberapa bit, dimana karakter yang sering

muncul dikodekan dengan rangkaian bit yang pendek dan karakter yang jarang muncul

Page 15: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

64

dikodekan dengan rangkaian kode bit yang lebih panjang. Proses pengompresian file

bisa dilihat seperti gambar 3.29.

Aplikasi kompresi yang ada pada saat ini, seperti WinZip. Menggunakan

penggabungan dari beberapa algoritma kompresi, sehingga WinZip memiliki

keunggulan dalam hal rasio kompresi yang lebih besar dibandingkan dengan algoritma

Huffman yang akan diimplementasikan dalam sistem ini. Namun waktu yang dibutuhkan

untuk proses kompresi dan dekompresi pada WinZip tidak jauh berbeda dengan

algoritma Huffman.

Pengiriman file antar komputer dengan menggunakan sistem yang akan dibuat

ini, hampir memiliki kesamaan dengan cara pengiriman file yang telah dikompresi

dengan aplikasi WinZip melalui email. Namun pengiriman file dengan sistem ini

memiliki kelebihan dalam segi otomatisasi. Pengguna tidak perlu mengkompresi file

secara manual sebelum mengirimkannya ke komputer tujuan. Dengan sistem yang akan

dibuat, pengguna hanya perlu memasukkan alamat IP komputer tujuan dan mengirimkan

file yang telah ditentukan. Proses kompresi akan dilakukan secara otomatis pada

komputer server asal, kemudian akan didekompresi pada server tujuan sebelum

mengirimkan file yang dikirim ke komputer tujuan. Untuk penjelasan lebih lanjut bisa

lihat tabel perbandingan berikut.

Page 16: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

65

Tabel 3.5 Tabel Perbandingan WinZip dan WEK Transporter

Perbandingan WinZip WEK Transporter

Algoritma Menggunakan gabungan dari beberapa algoritma

Hanya menggunakan satu jenis algoritma, algoritma Huffman

Otomatisasi Manual, membutuhkan campur tangan pengguna

Proses dilakukan secara otomatis, dari pengiriman file, kompresi serta dekompresi.

Keamanan data Terdapat fungsi proteksi enkripsi Tidak terdapat fungsi proteksi

Enkapsulasi data Tidak ada Ada

Pemecahan file Sesuai dengan kapasitas penyimpanan data

Dilakukan pada file dengan ukuran diatas 30 Kb

Rasio Kecepatan Kompresi dan Dekompresi

6 : 4 6 : 5

Lisensi Trial Open Source

3.7 Perancangan Sistem

Sistem yang akan dibuat menggunakan pendekatan sistematis dan berurutan

(Linear Sequential Model). Tahap-tahap yang akan dilakukan dalam perancangan sistem

ini adalah sebagai berikut :

1. System/Information Engineering and Modeling

Tahap ini mulai menetapkan kebutuhan-kebutuhan semua elemen

sistem dan mengalokasikan beberapa bagian dari kebutuhan-kebutuhan ini

ke piranti lunak. Menetapkan kebutuhan piranti keras dan basis data yang

dibutuhkan dalam sistem ini, menetapkan alat-alat yang dibutuhkan seperti

line telepon, modem sebagai media transaksi data.

Page 17: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

66

2. Software Requirement Analysis

Pada tahap ini penetapan sistem difokuskan pada piranti lunak,

seperti penetapan fungsi-fungsi apa saja yang dibutuhkan dalam sistem,

kemampuan apa saja yang dapat dibuat, kinerja dan antar muka piranti

lunak. Dalam pembuatan sistem ini piranti lunak yang terlibat adalah JSP

(Java Service Pages), MySQL Server, dan Borland Delphi. JSP digunakan

untuk mengirimkan file yang akan dikirimkan kepada komputer tujuan.

Penggunaan MySQL Server adalah untuk menyiapkan database untuk

keperluan penyimpanan informasi data transaksi pengiriman dalam

database. Sedangkan Borland Delphi digunakan dalam pengembangan

aplikasi WEK Transporter

3. Design

Perancangan piranti lunak dititik beratkan pada struktur data,

arsitektur piranti lunak, representasi antar muka dan prosedur secara detail.

Struktur data yang akan dirancang adalah data yang diupload, data yang

dikompres, data yang dipecah, data yang dikirim, data yang diterima, data

yang digabung kembali, dan data yang didekompres. Arsitektur piranti

lunak dirancang sesederhana mungkin sehingga pengguna dapat

menggunakannya dengan mudah. Representasi antar muka akan dirancang

menggunakan Macromedia Dreamweaver dan Borland Delphi. Prosedur

yang dibangun dalam sistem ini dibentuk kedalam modul-modul dengan

tujuan untuk mempermudah pembacaan kode secara sistematis dan

mempermudah proses pengkoreksian. Modul-modul tersebut antara lain

Page 18: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

67

modul upload file, modul pembacaan database, modul kompresi, modul

pengiriman, modul dekompresi, dll.

4. Code Generation

Rancangan kode yang telah dibuat diubah kedalam bentuk yang

dapat dibaca oleh kompiler. Proses pengkodean ini merupakan hal yang

bersifat mekanik. Pengkodean ini diterjemahkan kedalam dua bahasa

pemrograman yaitu JSP dan Delphi. WEK Loader menggunakan Java

Service Page (JSP) untuk membantu klien dalam memilih file dan tujuan

yang akan dikirimkan. Tujuan dari WEK loader ini untuk memudahkan

seorang klien dalam proses pengiriman file ke klien lainnya. Sedangkan

pada aplikasi WEK Transporter menggunakan aplikasi Delphi sebagai

piranti lunak pengembangannya. WEK Transporter akan mengambil file

hasil pengkopian dari klien kemudian akan menjalankan proses kompresi

atau dekompresi.

5. Testing

Tahap ini dilakukan pengujian terhadap statement-statement yang

ada dan fungsi-fungsi yang telah dikoding, dengan tujuan apakah input

yang akan dimasukkan dapat memberikan hasil yang diharapkan. Proses

pengujian ini akan diterapkan dengan menggunakan pengujian sederhana

melalui koneksi dial-up terhadap server yang dibuat dengan menggunakan

komponen RAS dalam Windows Server. Penggunaan RAS memungkinkan

Page 19: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

68

terjadinya komunikasi data dari remote atau client yang ingin mengakses

jaringan corporate dengan menggunakan koneksi dial-up.

6. Support/Maintenance

Tahap ini adalah tahap yang dikenal dengan tahap pengevaluasian,

perubahan-perubahan dapat dilakukan jika terdapat kesalahan-kesalahan

yang harus diperbaiki, sistem ini harus beradaptasi terhadap perubahan

lingkungan seperti sistem operasi atau pengguna.

Setelah dilakukan perancangan sistem berdasarkan pendekatan Linear

Sequential Model, tahap selanjutnya yang dilakukan adalah perancangan piranti lunak

aplikasi, yang terdiri dari :

1. Gambaran Umum Sistem.

2. Perancangan Struktur Menu.

3. Perancangan State Transition Diagram (STD).

4. Perancangan Layar.

5. Perancangan Algoritma.

6. Perancangan Spesifikasi Proses Aplikasi.

Page 20: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

69

3.7.1 Gambaran Umum Sistem

Sistem ini secara keseluruhan berjalan pada application layer, presentation

layer dan session layer. Pada saat berada di application layer, program aplikasi dari

suatu komputer dapat berkomunikasi dengan program aplikasi lainnya dalam komputer

yang berbeda melalui jaringan. Layer berikutnya yaitu presentation layer yang

menangani format dan representasi data yang akan di kirim atau di terima pada suatu

jaringan komputer. Layer ini menerima data dari application layer dan mengubahnya

menjadi format yang disetujui sehingga data yang dikirimkan oleh satu sistem dapat

dibaca oleh sistem yang lainnya. Session Layer bertanggung jawab dalam membangun,

mempertahankan dan memutuskan sesi antara aplikasi dari komputer-komputer yang

saling berkomunikasi. Sesi merupakan suatu hubungan antara aplikasi dalam jaringan.

Sistem ini terdiri dari 3 tipe program, yaitu :

1. WEK Loader

Program atau browser yang digunakan di sisi klien menggunakan

Java Service Pages (JSP) untuk membantu klien dalam memilih file dan

tujuan yang akan dikirimkan. Tujuan dari browser ini untuk memudahkan

seorang klien dalam proses pengiriman file ke klien lainnya.

Page 21: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

70

Gambar 3.3 Gambaran Umum WEK Loader

2. WEK Transporter

Program ini berjalan pada server, yang menggunakan aplikasi

Delphi sebagai piranti lunak pengembangannya. Tujuan dari program ini

adalah mengambil file hasil pengkopian atau menerima file hasil

pengiriman kemudian menjalankan proses kompresi atau dekompresi yang

akan menghasilkan output file terkompresi atau terdekompresi. Kemudian

output tersebut yang akan dikirimkan kepada klien tujuan.

Page 22: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

71

Gambar 3.4 Gambaran Umum WEK Transporter

3. Services

Program ini berjalan pada komputer klien tujuan yang berfungsi

sebagai media untuk penyampaian file dari server tujuan. Jika program ini

dijalankan dan terdapat transaksi penerimaan file di server, maka klien

secara otomatis menerima file kiriman dari server dan disimpan. Aplikasi

ini bertujuan untuk proses otomatisasi, artinya, klien hanya perlu

mengaktifkan services ini apabila hendak menerima kiriman file tanpa

perlu campur tangan dari pengguna. Program WEK Transporter akan

mengkopikan file yang diterima apabila klien yang dituju tersebut telah

mengaktifkan services ini. Namun apabila program services tidak

diaktifkan maka proses pengkopian file tidak akan dijalankan dan

dibatalkan.

Page 23: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

72

3.7.2 Perancangan Struktur Menu

3.7.2.1 Struktur Menu

Piranti lunak ini memiliki rancangan struktur menu sebagai berikut :

1. Menu WEK Loader

Program ini tidak menggunakan menu yang khusus. Dalam program

ini terdapat beberapa komponen :

- Textfield : IP Destination

Digunakan untuk mengisikan alamat IP tujuan klien yang akan

menerima file yang dikirim.

- Browse

Digunakan untuk memilih file mana yang akan dikopikan ke server.

- Button : Upload

Digunakan untuk menjalankan proses pengkopian file dari klien ke

server.

Page 24: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

73

2. Menu WEK Transporter

Struktur MenuWEK Transporter

File

Server

Client

Stop

Exit

Edit Help

Server

Client

view Log File

Gambar 3.5 Struktur Menu WEK Transporter

3.7.2.2 Penjelasan Menu

1. Menu WEK Transporter

Digunakan untuk melakukan proses kompresi atau dekompresi serta

perngiriman file dari server sumber ke server tujuan, yang terdiri dari:

• Menu File

- Server

Digunakan untuk mengaktifkan fungsi server. Saat memilih menu

ini akan menampilkan jendela baru, yang akan digunakan untuk

meminta inputan port bagi server.

Page 25: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

74

- Client

Digunakan untuk mengaktifkan fungsi client. Menu client

diaktifkan apabila komputer berfungsi sebagai server tujuan dan

menerima file yang akan dikirimkan dari server sumber. Saat

memilih menu ini akan menampilkan jendela baru, yang akan

digunakan untuk meminta inputan IP address dan inputan port bagi

klien.

- Stop

Digunakan untuk menghentikan fungsi yang sedang dijalankan,

baik server maupun client.

- Exit

Digunakan untuk keluar dari aplikasi WEK Transporter. Sebelum

mengeksekusi fungsi dari menu ini, maka akan muncul kotak dialog

konfirmasi yang menanyakan apakah pengguna yakin untuk keluar

dari aplikasi.

• Menu Edit

- View Log File

Digunakan untuk melihat log file dari semua transaksi data yang

terjadi. Log file ini berupa file yang utuh dan disimpan dalam

tempat penyimpanan (harddisk).

Page 26: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

75

• Menu Help

- Help Contents

Digunakan untuk mencari informasi singkat mengenai pemakaian

menu serta fungsi-fungsi yang ada pada aplikasi.

- About

Digunakan untuk menampilkan informasi nama-nama penyusun

aplikasi dan versi dari aplikasi ini.

3.7.3 Perancangan State Transition Diagram (STD)

1. STD Browse File

Gambar 3.6 STD Browse File

Page 27: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

76

2. STD Masukan IP Destination

Gambar 3.7 Masukan IP Destination

3. STD Upload File

Gambar 3.8 STD Upload File

4. STD Menu File - Server

Gambar 3.9 STD File - Server

Page 28: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

77

5. STD Menu File - Client

Gambar 3.10 STD File – Client

6. STD Menu File - Stop

Gambar 3.11 STD File – Stop

7. STD Menu File - Exit

Gambar 3.12 STD File – Exit

Page 29: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

78

8. STD Menu Edit - View Log File

Gambar 3.13 STD Edit - View Log File

9. STD Menu Help - Help Contents

Layar Utama Kotak Dialog HelpKlik help contentstampilkan kotak dialog help

Klik closekembali ke layar utama

Gambar 3.14 STD Help - Help Contents

10. STD Menu Help - About

Gambar 3.15 STD Help – About

Page 30: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

79

3.7.4 Perancangan Layar

Perancangan Layar Aplikasi ini terdiri dari :

1. Perancangan Layar WEK Loader v.1.0

2. Perancangan Layar WEK Transporter v.1.0

3. Perancangan Layar Services

4. Perancangan Layar Bilah Menu

5. Perancangan Layar Bilah Edit

6. Perancangan Layar Kotak Dialog

3.7.4.1 Perancangan Layar WEK Loader v.1.0

Pada layar WEK Loader v.1.0 ini terdapat beberapa jenis komponen yaitu, label

nama aplikasi (“WEK Loader”), label judul (“File Upload”), label IP Destination, label

File Name, textfield IP Destination (untuk memasukan alamat ip yang ingin dikirimkan

file), textfield File Name (untuk memasukan nama file yang akan dicopikan ke server),

tombol browse (untuk membuka kotak dialog buka file), tombol upload (untuk

memastikan bahwa file tersebut siap dikopikan ke server).

Page 31: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

80

Gambar 3.16 Rancangan Layar “WEK Loader v.1.0”

Page 32: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

81

Gambar 3.17 Rancangan Layar Membuka File

3.7.4.2 Perancangan Layar WEK Transporter v.1.0

Perancangan layar keseluruhan ini dapat dikategorikan sebagai berikut :

Page 33: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

82

a. Layar Utama

Pada layar Utama terdapat judul dari nama aplikasi ini, dan beberapa

menu utama yaitu, menu File (dapat memilih submenu didalamnya), menu

Help (dapat memilih submenu didalamnya), textarea untuk list IP yang

terkoneksi dengan server, dan textarea yang berisi daftar log file yang dapat

digunakan sebagai dokumentasi.

WEK Transporter V.1.0 X_

EditFile

IP Serveryang

terkoneksi

Memo

Help

IP Client yangterkoneksi

Server

Client

Log

Gambar 3.18 Rancangan Layar Menu Utama

Page 34: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

83

b. Layar Menu File

Pada layar menu File ini, akan menampilkan hasil dari proses

pemilihan menu utama File. Hasil yang ditampilkan akan muncul menu

top-down yang terdiri dari 4 submenu yaitu Server (menampilkan jendela

pengaktifan server), Client (menampilkan jendela pengaktifan klien),Stop

(menghentikan jalannya server dan klien), dan Exit (untuk keluar dari

aplikasi).

WEK Transporter V.1.0 X_

EditFile

IP Serveryang

terkoneksi

Memo

Help

IP Client yangterkoneksi

Server

Client

LogServer

Client

Exit

Stop

Gambar 3.19 Rancangan Layar Menu File

Page 35: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

84

c. Layar Menu Edit

Pada layar menu Edit ini, akan menampilkan log file dari transaksi

pengiriman data yang berlangsung dalam durasi waktu tertentu.

WEK Transporter V.1.0 X_

Edit

IP Serveryang

terkoneksi

Memo

Help

IP Client yangterkoneksi

Server

Client

LogView Log File

Edit

Gambar 3.20 Rancangan Layar Menu Edit

Page 36: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

85

d. Layar Menu Help

Pada layar menu Help ini, akan menampilkan hasil dari proses

pemilihan menu utama Help. Hasil yang ditampilkan akan muncul menu

top-down yang terdiri dari 2 submenu yaitu Help Contents (dapat memilih

submenu didalamnya), About Us (dapat memilih submenu didalamnya).

WEK Transporter V.1.0 X_

Edit

IP Serveryang

terkoneksi

Memo

Help

IP Client yangterkoneksi

Server

Client

Log

Edit

Help Contents

About Us

Gambar 3.21 Rancangan Layar Menu Help

Page 37: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

86

3.7.4.3 Perancangan Layar Services

Berikut ini adalah rancangan layar dari services yang akan dijalankan pada

klien. Jika klien memasukkan host dan port server dan mengaktifkan program,

maka klien akan secara otomatis menerima file yang dikirimkan ke klien

tersebut.

Services X_

Stop

Status : Not Connected

Port Server :

Host Server : StartServices

Gambar 3.22 Rancangan Layar Services

3.7.4.4 Perancangan Layar Bilah Menu

Bilah Menu terdiri dari beberapa menu yaitu :

1. Bilah Menu File Server

Digunakan untuk mengaktifkan aplikasi sebagai server dengan

memasukan nomor port server.

Page 38: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

87

WEK Transporter V.1.0 - Start Serv er ? X

Port :

Start Cancel

Gambar 3.23 Rancangan Layar Start Server

2. Bilah Menu File Client

Digunakan untuk mengaktifkan aplikasi sebagai client dengan

memasukkan nomor port client serta host client sebagai alamat IP dari

server tujuan.

WEK Transporter V.1.0 - Start Client ? X

Host :

Start Cancel

Port :

Gambar 3.24 Rancangan Layar Start Client

Page 39: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

88

3. Bilah Menu File Stop

Digunakan untuk menghentikan aktifitas server dan aktifitas klien

sekaligus.

4. Bilah Menu Exit

Digunakan untuk keluar dari aplikasi.

WEK Transporter V.1.0 - Exit Application ? X

Yes No

Pesan Konfirmasi keluar ?

Gambar 3.25 Rancangan Layar Kotak Konfirmasi Exit

5. Bilah Menu Edit

Digunakan untuk melihat log file yang tercatat selama transaksi file

terjadi dalam durasi waktu yang dapat ditentukan.

Page 40: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

89

Gambar 3.26 Rancangan Layar Form View Log File

6. Bilah Menu Help, digunakan untuk memilih bagian bantuan untuk

informasi mengenai aplikasi ini.

• Help Contents, digunakan untuk mengetahui informasi pemakaian

aplikasi.

• About, digunakan untuk mengetahui informasi dari pembuat aplikasi.

Page 41: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

90

Gambar 3.27 Rancangan Layar About Us

3.7.4.5 Perancangan Layar Bilah Edit

Bilah edit terdiri dari empat bagian, yaitu :

1. Bilah Edit Host, digunakan untuk memasukan IP host.

Gambar 3.28 Rancangan Layar Edit Host

2. Bilah Edit Port Server, digunakan untuk memasukan port saat aplikasi aktif

sebagai server.

Gambar 3.29 Rancangan Layar Edit Port Server

Page 42: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

91

3. Bilah Edit Port Client, digunakan untuk memasukan port saat aplikasi aktif

sebagai client.

Gambar 3.30 Rancangan Layar Edit Port Client

3.7.4.6 Perancangan Layar Kotak Dialog

Perancangan kotak dialog aplikasi ini tidak mencakup kotak dialog yang

berasal dari sistem operasi windows, namun hanya kotak dialog yang berasal dari

aplikasi ini sendiri, yaitu :

1. Kotak Dialog Konfirmasi

Kotak dialog ini menanyakan konfirmasi untuk menyakinkan

pengguna apakah akan melakukan suatu eksekusi. Jika ya maka akan

dilakukan proses eksekusi tersebut. Jika tidak maka proses eksekusi

tersebut akan dibatalkan dan kembali ke halaman/layar yang aktif.

Gambar 3.31 Rancangan Layar Kotak Dialog Konfirmasi

Page 43: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

92

2. Kotak Dialog Informasi

Kotak informasi ini akan memberikan penjelasan kepada pengguna,

mengenai aksi apa yang telah dilakukan, dengan memberikan informasi

singkat.

Gambar 3.32 Rancangan Layar Kotak Dialog Informasi

Page 44: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

93

3.7.5 Perancangan Algoritma

3.7.5.1 Perancangan Algoritma Secara Keseluruhan

Mulai

Upload File olehClient ke server

Kompresi File

Cek besar filehasil kompresi

> 30 KB

< 30 KB

Pemecahan file kedalam ukuran

tertentu

Kirim isi file ke servertujuan secaramultithreading

diterima server tujuan

cek file apakahdipecah?

penggabungan filekembali

Ya

Dekompresi file

kopikan file ke klientujuan

Selesai

Tidak

Gambar 3.33 Diagram Sistem Secara Keseluruhan

Page 45: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

94

3.7.5.2 Algoritma Pemilihan File Upload

Pemilihan file upload adalah algoritma untuk memilih file yang akan dikopikan

ke server oleh klien pengirim. Proses yang dijalankan untuk memilih file upload

digambarkan pada diagram alir berikut.

Gambar 3.34 Algoritma Pemilihan File Upload

Page 46: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

95

3.7.5.3 Algoritma Upload File

Upload file adalah algoritma untuk mengkopikan file dari klien ke server.

Proses yang dijalankan untuk mengupload file digambarkan pada diagram alir berikut.

Gambar 3.35 Algoritma Pemilihan File Upload

Page 47: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

96

3.7.5.4 Algoritma Pengecekan File Dalam Database

Pengecekan file dalam database adalah algoritma untuk mengecek apakah ada

file baru yang masuk ke dalam database dari klien ke server. Proses yang dijalankan

untuk pengecekan file dalam database digambarkan pada diagram alir berikut.

Gambar 3.36 Algoritma Pengecekan File Dalam Database

Page 48: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

97

3.7.5.5 Algoritma Buka Koneksi

Buka koneksi adalah algoritma untuk membuka koneksi awal sehingga

beberapa klien dapat terhubung dengan server. Proses yang dijalankan untuk membuka

koneksi digambarkan pada diagram alir berikut.

Mulai

Listen

Accept

Selesai

Ada

Ada Koneksi

Tidak

Connect

Gambar 3.37 Algoritma Buka Koneksi

Page 49: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

98

3.7.5.6 Algoritma Kompresi File

Kompresi file adalah algoritma untuk mengompresi file menjadi file yang lebih

kecil dari ukuran file aslinya. Proses yang dijalankan untuk kompresi file digambarkan

pada diagram alir berikut.

Page 50: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

99

Mulai

Baca isi File

Hitung Frekuensitiap Karakter

Buat pohon Kode

Jumlah semuaKarakter-1 ?

Iya

Tidak

Buat tabel kode

Selesai

Buat File Kompresi

Gambar 3.38 Algoritma Kompresi File

Page 51: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

100

3.7.5.7 Algoritma Pecah File

Pecah file adalah algoritma untuk membagi file menjadi beberapa bagian

berdasarkan ketersediaan bandwidth yang ada. Proses yang dijalankan untuk pecah file

digambarkan pada diagram alir berikut.

Gambar 3.39 Algoritma Pecah File

Page 52: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

101

3.7.5.8 Algoritma Pengiriman File

Pengiriman file adalah algoritma untuk mengirimkan file dari server klien

pengirim ke server klien penerima. Proses yang dijalankan untuk mengirimkan file

digambarkan pada diagram alir berikut.

Gambar 3.40 Algoritma Pengiriman File

Page 53: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

102

3.7.5.9 Algoritma Penerimaan File

Penerimaan file adalah algoritma untuk menerima file yang dikirim oleh server

pengirim ke server penerima. Algoritma ini berjalan pada server penerima. Proses yang

dijalankan untuk penerimaan file digambarkan pada diagram alir berikut.

Gambar 3.41 Algoritma Penerimaan File

Page 54: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

103

3.7.5.10 Algoritma Gabung File

Gabung file adalah algoritma untuk mengembalikan file yang telah dipecah

menjadi file yang utuh seperti semula. Proses yang dijalankan untuk gabung file

digambarkan pada diagram alir berikut.

Gambar 3.42 Algoritma Gabung File

Page 55: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

104

3.7.5.11 Algoritma Dekompresi File

Dekompresi file adalah algoritma untuk mendekompresi file yang telah

dikompresi menjadi file normal seperti aslinya. Proses yang dijalankan untuk kompresi

file digambarkan pada diagram alir berikut.

Gambar 3.43 Algoritma Dekompresi File

Page 56: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

105

3.7.6 Perancangan Spesifikasi Proses Aplikasi

3.7.6.1 Spesifikasi Proses Pemilihan File Upload

Modul pemilihan file upload

Tekan browse

Muncul jendela dialog open

Pilih file

Jika OK

Isi path file ke textfield

End jika

End modul

3.7.6.2 Spesifikasi Proses Upload File

Modul Upload File

Tampilkan halaman utama

Lakukan pengisian IP Destination

Tekan tombol upload

Lakukan pengecekan IP Destination

Jika IP Destination tidak valid maka

Lakukan Pengisian IP Destination

Page 57: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

106

Selain itu

Lakukan pengecekan file upload

Jika file belum ada maka

lakukan pemilihan file

Selain itu

upload file ke server

simpan IP & nama file di database server

End jika

End jika

End Modul

3.7.6.3 Spesifikasi Proses Splash

Modul Splash

Time = 0

Jalankan timer

Time = time + 1

Jika time = 1 maka

Timer diset false

Splashform ditutup

Form Utama ditampilkan

End Jika

End Modul

Page 58: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

107

3.7.6.4 Spesifikasi Proses Pengecekan File Dalam Database

Modul pengecekan file dalam database

Jalankan timer

Cek record dalam database

Jika ada file

Hentikan timer

Ambil file sesuai database

Kompresi file

Kopi record ke tabel proses

Hapus record di database

Simpan hasil kompresi

Kirim file

End jika

End modul

3.7.6.5 Spesifikasi Proses Aktifkan Server

Modul Aktifkan Server

Form utama diset false

Tampilkan Form active server

Jika textfield port kosong maka

Page 59: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

108

Tampilkan pesan untuk mengisi port

Selain itu

PortServer diset dengan nilai dalam textfield port

Form active server diset false

Form utama diset true

End jika

End Modul

3.7.6.6 Spesifikasi Proses Aktifkan Client

Modul Aktifkan Client

Form utama diset false

Tampilkan Form active client

Jika textfield host kosong maka

Tampilkan pesan untuk mengisi host

Selain itu

Jika host tidak valid maka

Tampilkan pesan host tidak valid

Selain itu

Jika textfield port kosong maka

Tampilkan pesan untuk mengisi port

Selain itu

Jika textfield port = PortServer maka

Tampilkan pesan PortServer dan

PortClient tidak boleh sama

Page 60: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

109

Selain itu

PortClient diset dengan nilai

dalam textfield port

HostClient diset dengan nilai

dalam textfield host

Form active client diset false

Form utama diset true

End jika

End jika

End jika

End jika

End Modul

3.7.6.7 Spesifikasi Proses Buka Koneksi

Modul Buka Koneksi

Server listen

Jika ada klien

Server accept

Server connect

Selain itu

Buka Koneksi

Page 61: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

110

End jika

End modul

3.7.6.8 Spesifikasi Proses Kompresi File

Modul Kompresi File

Baca file

Hitung frekuensi tiap karakter

Jika jumlah karakter terbaca semua

Buat pohon kode

Buat tabel kode

Buat file yang terkompresi

End jika

End Modul

3.7.6.9 Spesifikasi Proses Pecah File

Modul Pecah File

Cek ukuran file

Jika ukuran file lebih dari ketentuan

Pecah file sesuai ketentuan

End jika

End modul

Page 62: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

111

3.7.6.10 Spesifikasi Proses Pengiriman File

Modul Pengiriman File

Kopi nama file ke var

Ulangi

Kopi isi file ke buffer

Sampai isi file selesai

Kirim var

Kirim buffer

End modul

3.7.6.11 Spesifikasi Proses Penerimaan File

Modul Penerimaan File

Terima var

Buat file dengan nama var

Terima buffer

Kopi buffer ke dalam file

End modul

Page 63: BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran …thesis.binus.ac.id/doc/Bab3/2006-2-01274-IF-Bab 3.pdfpenanganan transaksi data, ... 3.2 Gambaran Umum Kompresi File Dengan semakin

112

3.7.6.12 Spesifikasi Proses Gabung File

Modul Gabung File

i=1

Ulangi

Kopi pecah file [i] ke save file

Until pecah file[i].File size=0

End modul

3.7.6.13 Spesifikasi Proses Dekompresi File

Modul Dekompresi File

Baca file kompresi

Baca tabel kode

Buat pohon kode

Buat file asli

End modul