BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem ialah proses identifikasi mengenai hal-hal yang dibutuhkan dan harus ada pada sistem, agar sistem tersebut dapat berjalan sesuai dengan tujuan utama. Analisis sistem dapat dilakukan dengan menentukan apa-apa saja yang menjadi input dari sistem, proses apa yang dilakukan sistem dan apa yang menjadi output dari sistem tersebut. Untuk menganalisis sebuah sistem ada beberapa hal yang biasa dilakukan, yaitu sebagai berikut:
3.1.1.Analisis Masalah
Analisis masalah merupakan proses mengidentifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem yang akan dibangun tersebut dapat berjalan sebagaimana mestinya sesuai dengan tujuan dari sistem itu. Permasalahan yang diangkat dari penelitian ini adalah untuk mendapatkan algoritma kompresi yang lebih baik diantara algoritma Elias Delta Code dan Levenstein yang akan digunakan untuk memampatkan ukuran file. Kompresi citra menggunakan algoritma Elias Delta Code dengan Levenstein dipengaruhi oleh jumlah karakter yang berada dalam file yang akan dimampatkan. Pada penelitian ini file citra yang digunakan yaitu file citra .gif.
Mengurangi ukuran file File .gif yang memiliki
redundansi data
Tidak ada software yang cocok untuk kompresi file citra Sulit menemukan metode yang
tepat untuk kompresi file citra
Gambar 3.1 Diagram Ishikawa Analisis Masalah
3.1.2 Analisis kebutuhan
Untuk membangun sebuah sistem, perlu dilakukan sebuah tahap analisis kebutuhan sistem. Analisis kebutuhan sistem dapat dikelompokkan menjadi 2 bagian yaitu: kebutuhan fungsional dan kebutuhan non-fungsional.
1. Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang dirancang. Kebutuhan fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut:
a. Sistem harus mampu membaca piksel yang berada dalam file citra.
b. Sistem harus mampu melakukan kompresi data terhadap file citra dengan ekstensi file *.gif dengan metode Elias Delta Code dan Levenstein.
c. Sistem harus mampu melakukan dekompresi data terhadap hasil kompresi dengan metode Elias Delta Code dan Levenstein ke file aslinya yaitu file citra dengan ekstensi *.gif.
2. Kebutuhan non-fungsional adalah kebutuhan yang harus dipenuhi agar aplikasi yang dirancang mendapat umpan-balik yang baik dari pengguna aplikasi. Kebutuhan non-fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut:
a. Performa
b. Informasi
Sistem harus mampu menyediakan informasi tentang data-data yang akan digunakan pada sistem.
c. Ekonomi
Sistem harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak.
d. Kontrol
Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna.
e. Efisiensi
Sistem harus dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut.
f. Pelayanan
Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.
3.1.3. Analisis Proses
mendapatkan bit-bit string hasil kompresi dan tabel karakter dan kodenya, kemudian sistem melakukan proses dekompresi dengan mengubah bit-bit string itu ke dalam bentuk karakter semula berdasarkan tabel karakter dan tabel kode yang telah dibuat pada proses kompresi.
3.1.3.1. Analisis proses kompresi file citra dengan metode Elias Delta
Contoh penggunaan algoritma Elias Delta code pada citra adalah misalkan pada citra
grayscale dengan ukuran 5 x 5 piksel dapat dilihat pada gambar 3.2.
Gambar 3.2 Citra Grayscale 5x 5 Pixel
diproses dalam bentuk matriks:
Gambar 3.3 Matriks Citra Grayscale 5 x 5 Pixel
Tabel 3.1. String yang Belum Dikompresi NO PIXEL FREK BIT FREK * BIT
1 17 1 8 8
2 32 2 8 16
3 47 1 8 8
4 61 1 8 8
5 67 1 8 8
6 72 1 8 8
7 88 1 8 8
8 93 1 8 8
9 98 1 8 8
10 102 1 8 8
11 107 1 8 8
12 124 1 8 8
13 129 1 8 8
14 133 1 8 8
15 136 1 8 8
16 156 2 8 16
17 163 1 8 8
18 166 1 8 8
19 176 1 8 8
20 294 1 8 8
21 210 1 8 8
22 214 1 8 8
23 215 1 8 8
Total Bit 200
Tabel 3.2. String yang Sudah Dikompresi Dengan Elias Delta Code
Karena jumlah string bit 173 tidak habis dibagi delapan dan sisanya adalah 5. Maka dapat dibuat padding “000” dan flagnya adalah “00000011”. Sehingga total bit seluruhnya setelah penambahan padding dan flagging adalah 184 bit.
Dari hasil kompresi dengan Elias Delta Code di atas dapat dihitung kinerja kompresinya yaitu:
a. Ratio of Compression (Rc)
Rc =
������ ���� ������� ���������� ������ ���� ������ ℎ���������� R
Rc =
200 184
Rc = 1.08
b. Compression Ratio (CR)
CR = ���������������������������������ℎ��������������������
x 100 %
CR =
184
200
x 100 %
CR
c. Space Savings = 92 %
SS = 100 % – C
SS = 100 % – 93 % R
3.1.3.2. Analisis proses kompresi file citra dengan metode Levenstein Code Kompresi untuk kode Levenstein dapat dilihat pada Tabel 3.3.
Dari hasil kompresi dengan Levenstein Code di atas dapat dihitung kinerja
b. Compression Ratio (CR)
CR = ���������������������������������ℎ��������������������
x 100 %
Untuk memudahkan pengoperasian aplikasi ini, maka perlu dibuatkan rancangan perangkat lunak berupa rancangan Flowchart, Use Case, Activity, Sequence Diagram, dan kode program Encode-Decode.
3.2.1 Flowchart
proses kompresi sampai menampilkan hasil kompresi. Rancangan Flow Chart kompresi dan dekompresi terdiri dari Algoritma Elias Delta codes dan Levenstein code
.
3.2.1.1Flowchart Secara Umum pada Sistem
Rancangan Flowchart untuk proses kompresi sistem dapat dilihat pada gambar 3 di bawah ini.
tidak
ya Mulai
Input citra .GIF
Kompresi dengan Levenstein code
Output : Waktu Kompresi Rc, Cr, SS, String Bit
Kompresi dengan Elias delta codes
Rancangan Flowchart untuk proses dekompresi sistem dapat dilihat pada gambar 3 di bawah ini.
3.2.2 Use case diagram
Use Case Diagram merupakan bentuk pemodelan dari sistem yang menggambarkan functional requirements dari sebuah sistem. Functional requirements dibuat berdasarkan informasi dari kebutuhan sistem dan aktor yang berperan di dalamnya. Use Case Diagram untuk sistem dalam penelitian ini dapat dilihat pada Gambar 3.2.
tidak
ya Start
Input citra .GIF
Dekompresi dengan Levenstein code
Output : Waktu dekompresi Rc, Cr, SS, String Bit
Dekompresi dengan Elias delta codes
Gambar 3.6 Use Case Diagram Pada Sistem
Use Case pada Gambar 3.6 menjelaskan bahwa user dapat melakukan proses kompresi dan dekompresi. Pada proses kompresi user membuka file teks, kemudian menentukan direktori untuk menyimpan file hasil kompresi, user dapat memilih metode yang digunakan yaitu Elias Delta Code dan Levenstein, dan user dapat melakukan kompresi. Setelah user melakukan kompresi maka akan ditampilkan informasi hasil kompresi dan user dapat menghapus informasi tersebut. Pada proses dekompresi user membuka file hasil kompresi, kemudian menentukan direktori untuk file hasil dekompresi, dan user dapat melakukan dekompresi. Spesifikasi setiap Use Case dapat diuraikan sebagai berikut.
3.2.3 Activity diagram
3.2.3.1. Activity diagram pada proses kompresi
Pada proses kompresi, aktivitas yang berlangsung dapat digambarkan pada Activity Diagram sebagai berikut.
Gambar 3.7 Activity Diagram proses Kompresi
3.2.3.2. Activity Diagram pada proses dekompresi
Gambar 3.8 Activity Diagram proses Dekompresi
3.2.4. Sequence Diagram
3.2.4.1. Sequence Diagram pada proses kompresi
Sequence Diagram untuk proses kompresi dapat dilihat pada Gambar 3.9
Gambar 3.9 Sequence Diagram Pada Proses Kompresi
3.2.4.2. Sequence Diagram pada proses dekompresi
Sequence Diagram untuk proses dekompresi dapat dilihat pada Gambar 3.10.
3.3. Alur Proses Sistem
3.3.1. Alur Proses Pembangkitan Elias Delta Code
Alur proses untuk Encode dengan Elias Delta Code dapat digambarkan dengan pseudocode berikut.
private static String Encode(String stb) {
Untuk melakukan decode dengan Elias Delta Code, dapat digambarkan dengan pseudocode sebagai berikut.
3.3.2. Alur Proses Pembangkitan Levenstein Code
Alur proses untuk Encode dengan Levenstein Code dapat digambarkan dengan pseudocode berikut.
void levenshteinEncode(char* source, char* dest) {
IntReader intreader(source); BitWriter bitwriter(dest); while (intreader.hasLeft()) {
Untuk melakukan decode dengan Levenstein Code, dapat digambarkan dengan pseudocode sebagai berikut.
void levenshteinDecode(char* source, char* dest) {
BitReader bitreader(source); IntWriter intwriter(dest); while (bitreader.hasLeft()) {
Home Home Kompresi
3.4. Perancangan antarmuka sistem
Pada perancangan sistem terdapat pembuatan Graphic User Interface (GUI) yang akan mempermudah user dalam menggunakan sistem yang ada. Pada sistem, terdapat 5 buah Form yang akan ditampilkan antara lain Form Home, Form Compress, Form Decompress, Form Help dan Form About.
3.4.1.Rancangan Form Home
Pada halaman Home terdapat keterangan mengenai sistem yaitu judul dari skripsi yang dibuat, logo dan juga nama.
1
Keterangan :
1. Tab Home berguna untuk menampilkan tampilan Home dari sistem yang ada. 2. Tab Compress berguna untuk menampilkan menu Kompresi pada sistem 3. Tab Decompress berguna untuk menampilkan menu Decompress pada sistem 4. Tab Help berguna untuk menampilkan menu Help yang ada pada sistem
5. About berguna untuk menampilkan menu About mengenai sistem yang dibangun 6. Label Text berisi keterangan mengenai judul sistem
7. Label Text berisi keterangan mengenai identitas diri 8. Picture Box berisi gambar logo berformat .gif 9. Label Text berisi keterangan mengenai fakultas
3.4.2. Rancangan Form Compress
Pada halaman Kompresi terdapat beberapa button dan juga text box yang akan digunakan dalam melakukan kompresi.
Help
1. Tab Home berguna untuk menampilkan tampilan Home dari sistem yang ada. 2. Tab Compress berguna untuk menampilkan menu Compress pada sistem 3. Tab Decompress berguna untuk menampilkan menu Decompress pada sistem 4. Tab Help berguna untuk menampilkan menu Help yang ada pada sistem
5. Tab About berguna untuk menampilkan menu About mengenai sistem yang dibangun
6. Button Open berguna untuk membuka file yang akan digunakan untuk kompresi 7. Button Compression berguna untuk mengeksekusi data yang ada sehingga
terkompresi
8. Radio Button berguna sebagai inputan dalam memilih metode yang akan digunakan.
9. Button Save berguna untuk menyimpan hasil dari kompresi yang diinginkan 10. Picture Box berisi gambar citra asli berformat .gif
11. Text Box berisi informasi hasil kompresi dengan algoritma elias delta code 12. Text Box berisi informasi hasil kompresi dengan algoritma elias delta code
13.Text Box berguna untuk mengubah gambar citra berwarna ke gambar citra grayscale
3.4.3. Rancangan Form Decompress
Pada Form Dekompresi terdapat button yang berguna dalam mengeksekusi dari file yang telah dikompresi.
Gambar 3.13 Form Decompress Pada Sistem Home
2
About
6
Help
4 5
Decompress Keterangan :
1. Tab Home berguna untuk menampilkan tampilan Home dari sistem yang ada. 2. Tab Compress berguna untuk menampilkan menu Compress pada sistem 3. Tab Decompress berguna untuk menampilkan menu Decompress pada sistem 4. Tab Help berguna untuk menampilkan menu Help yang ada pada sistem
5. Tab About berguna untuk menampilkan menu About mengenai sistem yang dibangun
6. Button Open berguna untuk membuka file yang akan digunakan untuk kompresi 7. Button Save berguna untuk menyimpan hasil dari kompresi yang diinginkan 8. Button Decompress berguna untuk mengembalikan data yang sudah terkompresi 9. Text Box berisi informasi hasil gambar .gif yang telah di dekompresi
10.Text Box berguna untuk menampilkan waktu dekompresi ke file asli
3.4.4. Rancangan Form Help
Berisi informasi mengenai informasi pembuatan di dalam sistem yang dibangun.
Gambar 3.14 Form Help Pada Sistem
Keterangan :
1. Tab Home berguna untuk menampilkan tampilan Home dari sistem yang ada. 2. Tab Compress berguna untuk menampilkan menu Kompresi pada sistem
5. Tab About berguna untuk menampilkan menu About mengenai sistem yang dibangun
6. Label Text berisi keterangan mengenai cara penggunaan sistem
3.4.5.Rancangan Form About
Pada halaman About terdapat keterangan mengenai sistem yaitu judul dari skripsi yang dibuat, logo dan juga nama.
Gambar 3.15 Form About Pada Sistem Keterangan :
1. Tab Home berguna untuk menampilkan tampilan Home dari sistem yang ada. 2. Tab Compress berguna untuk menampilkan menu Kompresi pada sistem 3. Tab Decompress berguna untuk menampilkan menu Decompress pada sistem 4. Tab Help berguna untuk menampilkan menu Help yang ada pada sistem
5. Tab About berguna untuk menampilkan menu About mengenai sistem yang dibangun
6. Label Text berisi keterangan mengenai sistem
7. Picture Box berisi gambar logo berformat .jpeg sebagai keterangan dari sistem Home
1 Compress 2 Decompress 3 4 Help About
6
7
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab 4 ini penulis memaparkan bagaimana implementasi dari sistem dan juga hasil pengujian aplikasi yang dilakukan pada metode Elias Delta Code dan Levenstein yang sudah dibangun menggunakan C#.
4.1. Implementasi Sistem
Implementasi sistem merupakan proses menerjemahkan hasil analisis dan perancangan sistem ke dalam sebuah bahasa pemrograman. Implementasi sistem pada penelitian ini dibangun menggunakan bahasa pemrogaman C# dan untuk tampilan antarmuka akan ditangani menggunakan bahasa C#. Adapun perangkat lunak yang digunakan sebagai Integrated Development Environment (IDE) untuk C# adalah SharpDevelop versi 4.4.1.9729-7196a277. Proses implementasi yang dirancang pada sistem ini dibagi menjadi 5 form dalam bahasa C#, di antaranya yaitu form home untuk halaman utama, form compress untuk menu kompresi, form decompress untuk menu dekompresi dan form untuk profil penulis tentang aplikasi.
4.1.1. Form Home
Gambar 4.1 Form Home
4.1.2. Form Compress
Form Compress merupakan form yang digunakan untuk melakukan proses kompresi. Pada form ini disediakan interface untuk input file citra, picture box untuk menampilkan isi file citra, menentukan direktori output file hasil kompresi, memilih algoritma untuk proses kompresi dan group box yang berisi beberapa text box informasi hasil kompresi. Tampilan untuk form compress dapat dilihat pada Gambar 4.2.
4.1.3. Form Decompress
Form Decompress merupakan form yang digunakan untuk melakukan proses dekompresi. Pada form ini disediakan interface untuk input file hasil dekompresi yaitu untuk file *.lev dan *.eld, menentukan direktori file hasil dekompresi, text box untuk menampilkan waktu yang diperlukan untuk dekompresi, dan text area untuk menampilkan isi file hasil dekompresi. Tampilan untuk Form Decompress dapat dilihat pada Gambar 4.3.
Gambar 4.3 Form Decompress
4.1.4. Form Help
4.1.5. Form About
Form About merupakan form yang digunakan hanya untuk menampilkan informasi tentang sistem atau aplikasi yang dibuat dan informasi tentang penulis. Tampilan untuk Form About dapat dilihat pada Gambar 4.5.
Gambar 4.5 Form About
4.2. Pengujian Sistem
Pengujian sistem merupakan tahap mengidentifikasi hasil dari implementasi sistem apakah sistem telah berjalan sesuai dengan fungsi-fungsi yang sebelumnya ditentukan pada tahap analisis dan perancangan sistem. Pengujian sistem ini dilakukan pada File citra yang berekstensi *.gif. Pengujian sistem yang dilakukan pada penelitian ini dibagi dalam 2 proses utama yaitu pengujian proses kompresi dan pengujian proses dekompresi.
4.2.1. Pengujian proses kompresi
1. Menekan tombol pada Open File untuk membuka Open File Dialog, dan pilih File citra *.gif sebagai Input File.
Gambar 4.6 Open FileDialog
3. Memilih algoritma Levenstein code atau Elias Delta Code yang akan digunakan untuk proses menyimpan file hasil kompresi *.gif pada radio button yang telah disediakan.
4. Menekan tombol pada Save File untuk membuka Save File Dialog dan tentukan direktori untuk menyimpan file hasil kompresi *.gif.
Proses kompresi menghasilkan sebuah File Output yaitu file dengan ekstensi *.edc (Elias Delta Code) atau *.lv (Levenstein) sebagai file yang menyimpan informasi karakter dan string bit hasil kompresi. File-file hasil kompresi ini dapat dilihat menggunakan nilai piksel editor seperti pada Gambar 4.8 dan 4.9.
Gambar 4.8 Nilai piksel hasil kompresi Elias Delta Code
4.2.2. Pengujian proses dekompresi
Untuk melakukan proses dompresi tahap awal yang dilakukan adalah memilih Tab Decompress. Setelah tampilan Form Decompress muncul maka lakukan langkah -langkah berikut ini untuk melakukan proses dekompresi.
1. Menekan tombol pada Open File untuk membuka Open File Dialog Open File, dan pilih file hasil kompresi *.gif sebagai Input File.
2. Menekan tombol pada Save File untuk membuka Save File Dialog dan tentukan direktori untuk menyimpan file hasil dekompresi *.gif.
3. Menekan tombol Decompress untuk melakukan proses dekompresi. Setelah proses dekompresi berhasil sistem akan menampilkan informasi hasil dekompresi dan waktu dekompresi untuk algoritma Elias Delta dan Levenstein pada text box-text box seperti pada gambar dibawah ini.
4.3 Analisis Hasil Pengujian Kompresi Sistem
Pada bagian ini dilakukan pengujian aplikasi untuk kompresi file citra *.gif menggunakan metode Elias Deta dan Levenstein, setelah proses kompresi selesai dilakukan akan dilihat hasilnya kemudian dilakukan pengujian apakah file citra *.gif tersebut bisa dikembalikan seperti semula. Pengujian dilakukan pada beberapa file citra *.gif dengan ekstensi yang sama, yaitu ekstensi-ekstensi file yang didukung oleh aplikasi ini kemudian akan dilihat perubahan dari setiap ekstensi serta hasil kompresi dari masing-masing file citra *.gif. Pengujian dilakukan pada ukuran file yang berbeda dan membandingkan ukuran file kompresi, parameter rasio (Rc, CR), Space Savings (SS), waktu kompresi, dan waktu dekompresi dalam menggunakan metode Elias Delta dan Levenstein, untuk masing-masing proses kompresi. Hasil pengujian pada beberapa file di atas dapat dirangkum dalam tabel berikut yang menunjukkan parameter rasio (Rc, CR), Space Savings (SS), waktu kompresi, dan waktu dekompresi untuk masing-masing file pada tiap proses kompresi. Hasil proses kompresi beberapa file yang berekstensi *.gif berbeda menggunakan metode Elias Delta dan Levenstein, dapat dilihat pada tabel 4.1.
Tabel 4.1 Hasil Perbandingan Kompresi File Citra Dengan Elias Delta dan Levenstein
Hasil Pengujiaan Kompresi File Citra Dengan Elias Delta dan Levenstein
Nama
Elias delta Levenstein
Size
kompresi untuk masing-masing file menggunakan metode Elias Delta dan Levenstein sedikit berbeda, diakibatkan ukuran antara file citra *.gif sedikit berbeda. Perbedaan ukuran antara file citra *.gif ini mengakibatkan waktu proses yang diperlukan untuk dekompresi sedikit lebih besar dibandingkan untuk proses kompresi. Penambahan jumlah byte dalam file citra *.gif diakibatkan penambahan beberapa byte untuk proses kompresi. Tetapi ketika dekompresi kembali, ukuran file juga kembali.
Dari Tabel 4.1 dapat dibuat grafik perbandingan hasil pengujian String antara Levenstein dan Elias Delta Code berdasarkan variable Ratio of Compression (RC), Compression Ratio (CR), Space Saving (SS), waktu kompresi dan dekompresi seperti pada Gambar 4.12, Gambar 4.13, Gambar 4.14 dan Gambar 4.15.
Gambar 4.12 Grafik Perbandingan Ratio Of Compression Algoritma Elias Delta dan Levenstein
Dari grafik pada Gambar 4.12 dapat diambil kesimpulan bahwa Ratio of Compression hasil kompresi citra dengan Levenstein lebih baik dibandingkan dengan Elias Delta Code.
0 0,5 1 1,5 2 2,5 3
Lena Fruit Star
RC
Rasio Of Compression
Elias Delta
Gambar 4.13 Grafik Perbandingan CompressionRatio Algoritma Elias Delta dan Levenstein
Dari grafik pada Gambar 4.13 dapat diambil kesimpulan bahwa Compression Ratio hasil kompresi citra dengan Elias Delta Code lebih baik dibandingkan dengan Levenstein.
Gambar 4.14 Grafik Perbandingan Space Savings Algoritma Elias Delta dan Levenstein
Dari grafik pada Gambar 4.14 dapat diambil kesimpulan bahwa Space Savings hasil kompresi citra dengan Levenstein lebih baik dibandingkan dengan Elias Delta Code.
Gambar 4.15 Grafik Perbandingan Waktu Kompresi Algoritma Elias Delta dan Levenstein
Dari grafik pada Gambar 4.15 dapat diambil kesimpulan waktu yang diperlukan untuk proses kompresi citra dengan Elias Delta lebih banyak dibandingkan Levenstein.
4.4 Analisis Hasil Pengujian Dekompresi Sistem
Pada bagian ini dilakukan pengujian aplikasi untuk dekompresi file citra *.gif menggunakan metode metode Elias Delta dan Levenstein dan setelah proses dekompresi selesai dilakukan akan dilihat hasilnya kemudian dilakukan pengujian apakah file citra *.gif tersebut bisa dikembalikan seperti semula. Pengujian dekompresi dilakukan pada beberapa file citra *.gif dengan ekstensi yang sama juga, yaitu ekstensi-ekstensi file yang didukung oleh aplikasi ini yaitu *.zip, kemudian akan dilihat perubahan dari setiap ekstensi serta hasil kompresi dari masing-masing file citra *.gif setelah melakukan extract.
Pengujian dekompresi juga dilakukan pada ukuran file yang berbeda dan membandingkan waktu proses, ukuran size untuk masing-masing proses dekompresi. Hasil pengujian pada beberapa file di atas dapat dirangkum dalam tabel berikut yang menunjukkan waktu proses, ukuran size untuk masing-masing file pada tiap proses dekompresi. Hasil proses dekompresi beberapa file yang berekstensi *.gif berbeda menggunakan metode metode Elias Delta dan Levenstein dapat dilihat pada tabel 4.2.
Tabel 4.2 Hasil Perbandingan Dekompresi File Citra Dengan Elias Delta dan Levenstein Code
Nama File Citra
Elias Delta Levenstein
Time Dekompresi
Gambar 4.16 Grafik Perbandingan Waktu Dekompresi Algoritma Elias Delta dan Levenstein
Dari hasil di atas dapat dilihat bahwa besarnya ukuran file mempengaruhi waktu atau lamanya proses dekompresi. Dari ketiga file *.gif yang dapat diproses oleh aplikasi ini dan dilakukan percobaan pada sebuah file *.gif yang mewakili masing-masing ekstensi menggunakan metode metode Elias delta dan Levenstein, terlihat bahwa semakin besar ukuran file *.gif, maka semakin banyak waktu yang diperlukan untuk proses tersebut. Waktu proses untuk dekompresi untuk masing-masing file juga sedikit berbeda, diakibatkan ukuran antara file *.gif sedikit berbeda. Perbedaan ukuran antara file *.gif ini mengakibatkan waktu proses yang diperlukan untuk dekompresi sedikit lebih besar dibandingkan untuk proses kompresi. Penambahan jumlah byte dalam file *.gif diakibatkan penambahan beberapa byte untuk proses kompresi. Tetapi ketika dekompresi kembali, ukuran file juga kembali.
4.5 Hasil Perhitungan Kompleksitas Big Theta (�)
Untuk mengetahui algoritma mana yang lebih efektif pada kompresi maka dibutuhkan perhitungan kompleksitas waktu. Dapat dilihat pada tabel 4.1 untuk algoritma Elias Delta Codes dan tabel 4.2 untuk algoritma Levenstein code.
Tabel 4.3 Perhitungan Big Theta pada Elias Delta Code
Step Pseudocode T(n)
8 StringBuilder u
= new StringBuilder();
Dari perhitungan running time pada tabel maka didapat:
Tabel 4.4 Perhitungan Big Theta Pada LevensteinCode
14 kanan= nbin.Substring(1,nbin.Length-1); C2 n2 C2n2
15 Code = kanan + Code; C2 n2 C2n2
Dari perhitungan running time pada tabel maka didapat:
Dari kedua tabel diatas dapat dilihat bahwa algoritma Elias Delta Code dan Levenstein code memiliki running time yang berbeda. algoritma Elias Delta Code menghasilkan T(n) =θ(nP
2
BAB 5
KESIMPULAN DAN SARAN
Pada bab 5 ini akan disimpulkan, aplikasi yang telah dirancang telah dapat melakukan fungsi kompresi dan dekompresi. Pada bab ini juga disajikan saran-saran yang bermanfaat sebagai masukan bagi pengembangan aplikasi kompresi menggunakan metode Elias Delta Code dan Levenstein yang lebih baik.
5.1. Kesimpulan
Kesimpulan yang dapat diambil dari penelitian ini adalah:
1. Algoritma kompresi Levenstein Code dapat melakukan kompresi pada citra uji lebih baik daripada algoritma Elias Delta Codes. Ukuran file rata-rata hasil kompresi Levenstein Code (661 bytes) dan kompresi Elias Delta Codes (827 bytes).
2. Hasil pengujian kompresi file citra yang dihasilkan oleh Algoritma Levenstein Code lebih baik daripada algoritma Elias Delta Codes. Rasio rata-rata pada Levenstein Code 53,86 % dan Elias Delta Codes 68,51 %.
3. Algoritma Levenstein Code memiliki waktu kompresi yang lebih cepat dibandingkan algoritma Elias Delta Codes. Kecepatan rata-rata proses kompresi algoritma Levenstein Code (0,013 ms) dan kecepatan proses kompresi Elias Delta Codes (0,018 ms).
5.2. Saran
Saran yang dapat diberikan pada penulis untuk pengembangan dan perbaikan sistem lebih lanjut adalah:
1. Aplikasi yang dirancang diharapkan dapat mengkompresi jenis file citra lainnya yang berekstensi *.bmp , *.jpg dan *.png.