KOMPRESI FILEEEEEEEEE.pdf
-
Upload
ozcar-djarot -
Category
Documents
-
view
160 -
download
6
description
Transcript of KOMPRESI FILEEEEEEEEE.pdf
BAB I
PENDAHULUAN
1.1 Latar Belakang
* uθ èδ uρ ü“ Ï% ©!$# r' t±Σr& ;M≈̈Ψ y_ ;M≈x©ρ á�÷è ¨Β u�ö�xîuρ ;M≈x©ρâ÷ ÷êtΒ Ÿ≅÷‚ ¨Ζ9$#uρ tí ö‘ ¨“9$#uρ $ ¸� Î=tFøƒ èΧ
…ã& é# à2é& šχθçG ÷ƒ ¨“9$# uρ šχ$̈Β ”�9 $#uρ $ \κÈ:≈ t± tFãΒ u�ö�xî uρ 7µ Î7≈t± tF ãΒ 4 (#θ è=à2 ÏΒ ÿ ÍνÌ�yϑrO !#sŒ Î) t�yϑ øO r& (#θè?#u uρ … çµ ¤)ym uΘ öθ tƒ ÍνÏŠ$ |Áym ( Ÿωuρ (#þθ èù Î�ô£è@ 4 …çµ ‾Ρ Î) Ÿω �=Ït ä† šÏùÎ� ô£ßϑø9 $# ∩⊇⊆⊇∪
"Dan dialah yang menjadikan kebun-kebun yang berjunjung dan yang tidak berjunjung, pohon kurma, tanam-tanaman yang bermacam-macam buahnya, zaitun dan delima yang serupa (bentuk dan warnanya) dan tidak sama (rasanya). makanlah dari buahnya (yang bermacam-macam itu) bila dia berbuah, dan tunaikanlah haknya di hari memetik hasilnya (dengan disedekahkan kepada fakir miskin); dan janganlah kamu berlebih-lebihan. Sesungguhnya Allah tidak menyukai orang yang berlebih-lebihan ” (QS.Al-An’am :141)
Dari ayat di atas terdapat kata tusrifuu yang mufrodnya berasal dari
kata isyrof. Isyrof adalah berlebih-lebihan dalam menggunakan sesuatu di luar
batas yang diperlukan. Perilaku isyrof dilarang oleh ajaran Islam, sebab selain
sikap tersebut sangat tidak terpuji, juga dapat mendatangkan mudhorot atau
bahaya, baik bagi pelaku maupun bagi orang lain. Lawan kata isyrof adalah
penghematan.
Dalam dunia komunikasi data, kata penghematan di istilahkan
dengan kata kompresi atau memperkecil ukuran data atau file. Dewasa ini
perkembangan teknologi dan informasi sangat pesat sehingga dituntut untuk
cepat dan tepat salah satu permasalahan tersebut adalah berkaitan dengan
penyimpanan data. Data atau file di dalam komputer memiliki berbagai macam
bentuk atau tipe, antara lain file image atau citra, teks, aplikasi terkompresi dan
lain sebagainya. Terdapat beberapa bermasalahan dalam penyajian data atau
file antara lain kebutuhan ruang penyimpanan yang berkapasitas besar, biaya
penyimpanan dan operasional yang besar serta dibutuhkan waktu yang lama
dalam pengaksesannya. Oleh karena itu, diperlukan suatu metode untuk
mengatasi permasalahan tersebut.
Permasalahan tersebut dapat diatasi dengan banyak cara, salah satunya
adalah dengan memperkecil atau mengkompresi ukuran file. Teknik kompresi
adalah teknik untuk mereduksi jumlah bit yang diperlukan untuk menyimpan
data file citra sehingga ukuran file yang terkompresi lebih kecil dibanding file
asal, tetapi tidak mengalami penurunan kualitas file yang signifikan. Dengan
demikian maka kapasitas ruang penyimpanan yang diperlukan akan menjadi
lebih kecil serta waktu dan biaya pengaksesan menjadi lebih kecil pula. Metode
pengkompresian data telah berkembang dan masing-masing metode memiliki
kelebihan dan kekurangan, kemampuan dari tiap-tiap metode pengkompresian
data umumnya diukur dengan parameter ukuran atau kapasitas dan kecepatan
kompresi.
Kompresi file digunakan dalam berbagai keperluan, misalnya
membackup data dan transfer data. Untuk membackup data tidak perlu
menyalin semua file aslinya, dengan kompresi atau mengecilkan ukuran file
terlebih dahulu, maka kapasitas tempat penyimpanan yang diperlukan
menjadi lebih kecil. Jika data tersebut diperlukan, maka dikembalikan lagi ke
file aslinya (dekompresi file).
Selain berguna pada media penyimpanan data, kompresi file dapat
membantu memperkecil ukuran data yang ditransmisikan dalam suatu media
jaringan, seperti internet sehingga waktu yang diperlukan akan menjadi lebih
pendek dan kemungkinan pekerjaan download dan upload gagal akan menjadi
lebih kecil.
Pada kompresi data, terdapat dua tipe macam kompresi, yaitu lossless
compression dan lossy compression. Pada lossless compression, semua
informasi yang ada pada data akan kembali menjadi seperti aslinya dan tidak
ada informasi yang hilang. Teknik ini biasanya digunakan untuk dokumen-
dokumen, file executable, dan lainnya. Kehilangan sebuah informasi
merupakan hal yang fatal bagi file-file tersebut sedangkan pada lossy
compression, tidak semua informasi yang ada akan kembali seperti semula.
Hanya informasi-informasi inti yang dikembalikan. Hal ini terjadi karena pada
lossy compression informasi-informasi yang tidak berguna akan dihilangkan.
Walaupun ada informasi yang hilang, namun hal ini tidak terlalu disadari oleh
pengguna. Teknik ini biasanya digunakan pada file video, gambar, suara yang
mana file-file tersebut biasanya berukuran besar (Bytastudios, 2007).
Maka berdasarkan latar belakang yang telah dikemukakan di atas, judul
yang diambil dalam skripsi ini adalah “ Kompresi File Menggunakan
Algoritma Half-byte ”, yang proses kompresinya adalah dengan memanfaatkan
bit sebelah kiri atau nilai yang sering sama secara berurutan. sehingga data
yang sering sama secara berurutan tersebut dapat dikompresi dengan cukup
memakai satu kali bit sebelah kiri dan diikuti oleh bit sebelah kanan pada
urutan yang sama bit sebelah kirinya.
1.2 Rumusan Masalah
Masalah-masalah yang diteliti dan dipecahkan pada skripsi ini adalah :
1. Bagaimana merancang dan membuat aplikasi kompresi file menggunakan
algoritma Half - Byte ?
2. Bagaimana melakukan kompresi terhadap beberapa tipe data file ?
1.3 Batasan Masalah
Batasan masalah yang dibahas dalam skripsi ini adalah :
1. Data dibatasi pada perbandingan ukuran file asal dengan file hasil
kompresi.
2. Sampel yang di gunakan tidak didefinisikan secara khusus. Artinya
aplikasi ini diharapkan mampu untuk menangani berbagai jenis file.
1.4 Tujuan Penelitian
1. Merancang dan membuat kompresi file menggunakan algoritma kompresi
Half-Byte.
2. Menganalisa dan menghitung tingkat kompresi berdasarkan rasio masing-
masing file yang di kompresi dengan algoritma Half-Byte.
1.5 Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini adalah didapatnya kapasitas
atau ukuran file yang lebih kecil sehingga meringankan suatu proses kinerja
komputer, serta memperkecil kebutuhan akan jumlah media penyimpanan yang
diperlukan.
1.6 Metodologi Penelitian
1. Fase Analisis
a. Studi Literatur
Studi ini dilakukan dengan cara mencari sekaligus mempelajari beberapa
literatur dan artikel mengenai algoritma Half-Byte dan pemrograman file,
sebagai acuan dalam perencanaan dan pembuatan skripsi.
b. Pendefinisian dan analisis masalah untuk mencari solusi yang tepat.
2. Fase Pembuatan Program
Perancangan dan implementasi sistem yang dilakukan secara ekperimental,
yaitu bereksperimen membuat program berdasarkan materi dan algoritma
yang telah dipelajari
3. Fase Uji Coba Program
Uji coba dan analisis hasil implementasi tersebut apakah sesuai dengan
tujuan yang dirumuskan sebelumnya, untuk kemudian dievaluasi.
4. Revisi Program
Setelah fase di atas, pada tahap ini adalah memperbaiki kesalahan-kesalahan
dalam listing program maupun menambah kekurangan dari program yang
dikerjakan.
Dokumentasi dilakukan untuk jangka waktu sekarang dan yang akan
datang agar memudahkan perawatan jika terjadi kesalahan program lagi akibat
ketidakstabilan perangkat atau karena gangguan teknis lainnya. Penyusunan
laporan adalah tahap untuk melaporkan semua hal dan data-data yang sudah
dikerjakan selama penelitian.
1.7. Sistematika Penulisan Skripsi
Adapun sistematika pada skripsi ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah,
tujuan, manfaat, metodologi dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini menjelaskan tentang teori-teori yang terkait dengan permasalahan
yang diambil.berisi penyimpanan data yaitu definisi dari penyimpanan
data, data yaitu pengertian dari data, kode ASCII, kompresi data yaitu
pengertian dan definisi tentang kompresi.
BAB III DESAIN DAN PERANCANGAN SISTEM
Bab ini menjelaskan tentang analisa yang dilakukan dalam merancang dan
membuat sistem, yaitu pembuatan desain data, deskripsi sistem, desain
proses dan implementasi desain dan semua yang diperlukan dalam aplikasi
kompresi file menggunakan algoritma Half-byte.
BAB IV HASIL DAN PEMBAHASAN
Bab ini membahas tentang implementasi dari aplikasi yang dibuat secara
keseluruhan. Serta melakukan pengujian terhadap aplikasi yang dibuat
untuk mengetahui aplikasi tersebut telah dapat menyelesaikan
permasalahan yang dihadapi sesuai dengan yang diharapkan.
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dan saran yang diharapkan dapat
bermanfaat untuk pengembangan pembuatan program aplikasi selanjutnya.
BAB II
TINJAUAN PUSTAKA
2.1 Penyimpanan Data
θ èδ ª!$# ”Ï% ©!$# Iω tµ≈s9 Î) āωÎ) uθèδ à7Î= yϑø9 $# â¨ρ‘‰ à)ø9 $# ãΝ≈n=¡¡9 $# ßÏΒ ÷σ ßϑø9 $# Ú∅ Ïϑø‹yγßϑ ø9 $#
Ⓝ͓ yèø9 $# â‘$¬6yf ø9 $# ç�Éi9x6 tG ßϑ ø9$# 4 z≈ysö6 ß™ «! $# $ £ϑtã šχθ à2Î�ô³ç„ ∩⊄⊂∪
“Dialah Allah Yang tiada Tuhan selain Dia, Raja Yang Maha Suci, Yang Maha Sejahtera, Yang Mengaruniakan keamanan, Yang Maha Memelihara, Yang Maha Perkasa, Yang Maha Kuasa, Yang Memiliki segala Keagungan, Maha Suci Allah dari segala apa yang mereka persekutukan (QS.Al Hasyr : 23).
Dari ayat di atas disebutkan bahwa Allah adalah Tuhan yang wajib
disembah. Allah yang Maha Memelihara, Yang Maha Perkasa, Yang Maha
Kuasa, Yang Memiliki Segala Keagungan, juga Yang Mengaruniakan
Keamanan bagi manusia.
Keamanan merupakan karunia Allah yang diberikan kepada manusia
yang wajib disyukuri. Allah juga yang telah mengarunikan manusia akal untuk
berpikir. Masalah keamanan merupakan hal yang terpenting dalam kehidupan
didunia ini. Oleh karena itu manusia wajib menggunakan akalnya untuk
mempelajari dan menciptakan keamanan itu.
Keamanan sangat erat sekali hubungannya dengan penyimpanan data.
Penyimpanan data dilakukan untuk mencegah terjadinya kerusakan atau
kehilangan data dan mempermudah membawa data-data tersebut kemanapun
dan kapanpun dibutuhkan. Penyimpanan data pada komputer hanya dibatasi
dengan kapasitas tertentu, sehingga dengan banyaknya data, memungkinkan
tidak cukupnya perangkat keras penyimpan data untuk menyimpan semua data-
data yang ada.
Dengan munculnya masalah itu, manusia yang mempunyai ilmu
pengetahuan dan teknologi harus bisa berpikir dan memberikan solusi agar
semua data yang ada dapat tertampung dalam sebuah penyimpan data. Salah
satu ilmu pengetahuan yang dapat menyelesaikan masalah itu adalah dengan
membangun sebuah aplikasi kompresi data. Kompresi data ini berfungsi untuk
memampatkan data yang berukuran besar, agar memperkecil kapasitas pada
tempat penyimpanan data.
2.2 Data
Kata “data” diadopsi dari bahasa Inggris dan berasal dari kata Yunani
“datum” yang berarti “fakta”. Data di komputer memiliki ukuran dalam
penyebutannya. Data terkecil dalam komputer disebut dengan bit, yaitu sinyal
elektronik yang melewati suatu rangkain digital (prosesor) komputer. Bit-bit
tersebut selanjutnya dirangkai dan rangkaian tersebut diberi kode lagi yang
disebut dengan character (Wahyudi, 2008).
2.2.1 Representasi Data
Elemen-elemen data secara umum adalah terdiri dari (Handayani, 2001):
a. Karakter
Karakter merupakan elemen data yang paling kecil. Karakter merupakan
lambang-lambang yang terdiri dari huruf, angka, serta lambang-lambang
lainnya, yang dibentuk dari susunan bit. Kode yang dihasilkan dari ASCII
dapat diolah oleh komputer menjadi informasi yang disebut dengan karakter
tadi, sehingga manusiapun dapat membacanya. Setiap karakter yang dibentuk
melalui kode komputer disebut juga dengan satu byte. Satu byte adalah
merupakan sebuah karakter yang dibangun dari tujuh atau delapan bit. Satuan
yang digunakan untuk menunjukkan kapasitas dalam dunia digital, termasuk
komputer, besar file, serta ukuran lain, digunakan dalam satuan byte ini.
Informasi yang akan dan yang diolah disimpan dalam suatu memori.
b. Field
Level data lebih tinggi adalah field yang berisi sekumpulan karakter.
Field kadang-kadang juga disebut sebagai suatu item. Field dari sebuah data
menggambarkan atribut dari beberapa entitas.
c. Record
Hubungan field-field data yang digabungkan menjadi bentuk satu record.
Suatu record menggambarkan kumpulan atribut yang menggabarkan entitas.
d. File
Sekumpulan Record yang saling berhubungan dikenal sebagai file data.
File adalah arsip yang disimpan dalam suatu media, yang terdiri dari kumpulan
karakter, dan didokumentasikan dalam bentuk data digital oleh komputer. Atau
dengan kata lain, file adalah entitas dari data yang disimpan di dalam sistem
berkas yang dapat diakses dan diatur oleh pengguna. Sebuah berkas memiliki
nama yang unik dalam direktori di mana file berada.
2.2.2 Ekstensi File
Setiap file dalam media penyimpanan memiliki tanda pengenal atau ciri-
ciri yang menyatakan jenis file tersebut. Umumnya pengenal tipe file tertera
pada nama file tersebut, yaitu tiga huruf paling kanan setelah titik. Fungsinya
adalah untuk mengetahui atau membedakan jenis file. Beberapa jenis ekstensi
file ditunjukkan pada Tabel 2.1 berikut (Prayogo, 2008).
Tabel 2.1 Jenis-jenis Ekstensi File
Ekstensi Jenis Aplikasi yang digunakan Asm Source code pemrograman
Assembly Sembarang teks editor, seperti MS Word, Notepad
Bat Teks MS Word, Notepad, Wordpad, Edit (pada DOS Prompt)
Bmp Image Sembarang editor, seperti PhotoShop, Paint
Doc Document MS Word MS Word
Exe Aplikasi Merupakan file Aplikasi
Fon File font Font viewer
htm, html, shtml
Internet document Netscape, navigator, MS Internet Explorer, dll
Gif Image, animasi Sembarang image editor, sedangkan untuk membuat animasinya digunakan Ulead Gif Animator, dll
Ico File icon Microangelo jpg/jpeg Image Sembarang image editor, seperti
PhotoShop, Paint Mp3 Audio WinAmp Pas Source code bahasa
pemrograman Pascal/Delphi Sembarang teks editor
Java Source code bahasa pemrograman Java
Sembarang teks editor
Pdf Adobe Acrobat Reader Psd Image Adobe Photoshop Txt Teks Sembarang teks editor Zip File kompresi WinZip, WinRar
2.3 Kode ASCII
Kode standar Amerika untuk pertukaran informasi atau ASCII (American
Standard Code for Information Intechange) merupakan suatu standar
internasional dalam kode huruf dan simbol yang bersifat universal yang selalu
digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks.
Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 8 bit.
Dimulai dari 00000000 hingga 11111111. Total kombinasi yang dihasilkan
sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan desimal.
2.4 Kompresi Data
a. Definisi
Istilah kompresi berasal dari kata bahasa Inggris yaitu compression yang
berarti pamampatan. Secara teknis, kompresi berarti memampatkan segala
sesuatu yang berukuran besar sehingga menjadi lebih kecil. Jadi, kompresi file
berarti proses untuk memampatkan file agar ukurannya menjadi lebih kecil.
Kompresi data berarti sebuah proses mengkodekan informasi
menggunakan bit atau information-bearing unit yang lain yang lebih rendah
daripada representasi data yang tidak terkodekan dengan suatu sistem encoding
tertentu (Anton, 2005).
Kompresi data juga diartikan sebagai teknik untuk memampatkan data
agar diperoleh data dengan ukuran yang lebih kecil daripada ukuran aslinya
sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu
pertukaran data tersebut (Inti, 2006). Seperti diketahui bahwa sebuah data
terkadang memiliki informasi yang berulang-ulang yang membuat ukuran
sebuah data menjadi besar. Dengan menggunakan algoritma dan teknik-teknik
tertentu, informasi yang sama dan berulang-ulang tersebut dikodekan
sedemikian rupa sehingga data tersebut menjadi berukuran lebih kecil. File
atau data yang sudah terkompres agar bisa digunakan kembali harus
dikembalikan lagi seperti file aslinya disebut proses dekompresi (Byta, 2007).
Secara umum kompresi atau pemampatan data merupakan proses
mengubah deretan angka (simbol) masukan menjadi keluaran yang
dikehendaki. jika kompresi efektif, hasil berkas (file) keluaran akan lebih kecil
dari pada berkas aslinya ( Nelson, 1996 ).
Model kompresi atau pemampatan data dapat dibagi menjadi dua yaitu,
Statistical model dan dictionary-based model (Hayati 2004). Statistical model
ialah model yang mengkodekan setiap simbol masukan dengan kode tertentu.
Kompresi dengan model statistik diterapkan pada algoritma Huffman. Kode
tersebut ditentukan berdasarkan statistik frekuensi kemunculan yang tinggi
dikodekan dengan kode yang lebih pendek, sedangkan simbol dengan frekuensi
rendah dikodekan dengan kode yang lebih panjang. Dictionary-based model
adalah suatu model yang mengkodekan setiap simbol masukan dengan suatu
alamat simbol tersebut di simpan. Model kompresi ini bekerja dengan pointer
atau indek yang menghubungkan masukan dengan symbol yang disimpan.
Model kompresi ini terdapat dalam metode RLE dan Half-byte.
b. Jenis Teknik Kompresi
Teknik kompresi secara umum dapat diklasifikasikan menjadi tiga
(Restyandito, 2008) yaitu:
a. Entropy coding adalah teknik kompresi yang menggunakan proses
lossless. Tekniknya tidak berdasarkan pada media dengan spesifikasi dan
karakteristik tertentu namun berdasarkan urutan data serta tidak
memperhatikan semantik data.
b. Source coding adalah teknik kompresi dengan menggunakan proses lossy.
Teknik ini berkaitan dengan data semantik (arti data) dan media.
c. Hybrid coding adalah teknik kompresi dengan menggunakan kombinasi
atau gabungan dari entropy coding dan source coding.
Berdasarkan outputnya, teknik kompresi dapat dibedakan menjadi dua:
a. Teknik kompresi Lossy
Kompresi menggunakan lossy, beberapa bagian data asli hilang ketika
berkas di decoded. Keuntungan dari algoritma ini adalah bahwa rasio kompresi
cukup tinggi. Hal ini dikarenakan cara algoritma lossy yang mengeliminasikan
beberapa data dari suatu berkas. Namun data yang dieliminasikan biasanya
adalah data yang kurang diperhatikan atau di luar jangkauan manusia, sehingga
pengeliminasian data tersebut kemungkinan besar tidak akan mempengaruhi
manusia yang berinteraksi dengan berkas tersebut.
b. Teknik kompresi Lossless
Kompresi menggunakan lossless menjamin bahwa berkas yang
dikompresi dapat selalu dikembalikan ke bentuk aslinya. Algoritma lossless
digunakan untuk kompresi berkas text, seperti program komputer (berkas zip,
rar, dll), karena kita ingin mengembalikan berkas yang telah dikompres ke
status aslinya. Kadang kala ada data-data yang setelah dikompresi dengan
teknik ini ukurannya menjadi lebih besar atau sama.
Terdapat beberapa faktor yang sering menjadi pertimbangan dalam
memilih suatu metode kompresi yang tepat karena tidak ada suatu metode
kompresi yang paling efektif untuk semua jenis file. Faktor-faktor tersebut
adalah:
a. Kualitas data hasil enkoding: ukuran lebih kecil, data tidak rusak untuk
kompresi lossy.
b. Ketepatan proses dekompresi data: data hasil dekompresi tetap sama
dengan data sebelum dikompresi (kompresi loseless).
c. Kecepatan, ratio, dan efisiensi proses kompresi dan dekompresi.
c . Rasio Kompresi
Dalam melihat efektivitas suatu metode kompresi dapat dinilai dengan
berbagai cara, salah satunya adalah dengan mengukur rasio ukuran
kompresinya atau perbandingan ukuran file asal dengan file hasil kompresi.
Proses kompresi adalah proses encoding yang menghasilkan data yang sudah
dikompresi yang disebut aliran data encoded. Sebaliknya aliran data yang telah
dikompresi harus dilakukan proses dekompresi untuk menghasilkan kembali
aliran data yang asli. Karena proses dekompresi menghasilkan decoding dari
aliran data yang sudah dikompresi maka hasilnya adalah aliran data decoded.
Tingkat pengurangan data yang dicapai sebagai hasil dari proses
kompresi disebut rasio kompresi. Rasio ini merupakan perbandingan antara
panjang data string asli dengan panjang data string yang sudah dikompresi,
seperti dituliskan dalam persamaan berikut:
Secara sederhana dapat di tulis pada persamaan sebagai berikut:
�� � �1 � ���� ���� ���������� ���� ���� �� x 100 %
Dari persamaan di atas didapat bahwa semakin besar prosentase rasio
ukuran kompresi, berarti hasil kompresi semakin baik ( Nelson, 1996).
2.5 Teknik-teknik Kompresi
Beberapa teknik kompresi lossless yang sering digunakan yaitu :
1. Algoritma Run-length encoding (RLE)
Algoritma RLE digunakan untuk memampatkan data yang berisi
karakter-karakter berulang. Saat karakter yang sama diterima secara berderet
empat kali atau lebih (lebih dari tiga), algoritma ini mengkompres data dalam
suatu tiga karakter berderetan. Algoritma RLE paling efektif pada file-file
grafis, dimana biasanya berisi deretan panjang karakter yang sama.
Rasio = ukuran file terkompresi
ukuran file asli
RLE adalah algoritma kompresi yang sangat mendasar. Metode
kompresi ini sangat sederhana, yaitu hanya memindahkan pengulangan byte
yang sama berturut-turut (secara terus menerus). Data masukan akan dibaca
dan sederetan karakter yang sesuai dengan deretan karakter yang sudah
ditentukan sebelumnya disubstitusi dengan kode tertentu. Kode khusus ini
biasanya terdiri dari tiga buah karakter, seperti yang terlihat pada Gambar 2.1
Sc X Cc
Gambar 2.1 Tiga buah karakter Keterangan Gambar di atas dapat dilihat bahwa :
a. Sc : adalah karakter khusus yang dipakai sebagai tanda kompresi.
b. X : adalah karakter berurutan yang akan dikompres.
c. Cc : adalah banyaknya karakter yang akan dihapus.
Sebagai contoh, apabila karakter khusus (Sc) yang digunakan adalah #
dan Cc dalam bilangan desimal, maka jika digunakan untuk mengkompres
potongan string : “jarrrrrringan”, maka akan diperoleh hasil sebagai berikut
“Jar#6ingan”. Kompresi metode RLE adalah menjumlahkan pengulangan
byte atau karakter yang sama berturut-turut dan menampilkan hanya
sebuah karakter yang mengalami pengulangan disertai dengan nilai jumlah
pengulangan byte atau karakter, sedang untuk byte atau karakter yang tidak
terjadi pengulangan maka karakter tersebut tidak akan dikompresi.
Misalkan pada kata “aaab” yang terjadi pengulangan byte atau
karakter “a” sebanyak 3 kali dan byte atau karakter “b” tidak mengalami
perulangan sehingga kata tersebut akan dikompresi menjadi “a3b”. Contoh
lain, pada pesan “aaaabccccbbbbabbbb”, karakter pertama “a”, karakter kedua
“a”, karakter ketiga “a”, karakter keempat “a”,dan karakter kelima “b”, karena
pada karakter kelima tidak sama dengan karakter sebelumnya, sehingga 4
karakter pertama yang mengalami perulangan akan dijumlahkan semuanya
dan nilai yang dijumlah adalah banyaknya karakter yang akan diulang,
sehingga output keempat karakter yang pertama setelah dikompresi adalah
hanya sebuah karakter dan diikuti dengan nilai perulangan yaitu “a4”.
Setelah dilakukan kompresi 4 karakter pertama, akan dilanjutkan ke
karakter berikutnya yaitu karakter kelima “b”, kemudian karakter keenam
“c”, karena karakter keenam tidak sama dengan karakter kelima, dan
karakter kelima tidak mengalami perulangan sehingga karakter yang tidak
mengalami perulangan akan ditambahkan kepada pesan “a4”, sehingga
menjadi “a4b”, dan seterusnya sehingga pesan “aaaabccccbbbbabbbb”
setelah dikompresi akan menjadi “a4bc4b4ab4”, dapat diperhatikan bahwa
pesan “aaaabccccbbbbabbbb” yang berukuran 18 byte atau karakter dapat
dilihat dari Tabel 2.2.
Tabel 2.2 Metode Kompresi RLE
No Simbol Masukan Simbol Keluaran Total 1 aaaa A 4 2 b B 1 3 cccc C 4 4 bbbb B 4 5 a A 1 6 bbbb B 4
Dekompresi metode RLE adalah dengan menguraikan nilai angka
menjadi karakter yang diikuti nilai angka sebanyak nilai angka tersebut,
misalnya kata “a4b”, nilai 4 menyatakan banyaknya huruf “a” yang diundang,
sehingga setelah di dekompresi kata “a4b” akan menjadi “aaaab”.
Tabel 2.3 Metode Dekompresi RLE
No Simbol Masukan Total Simbol Keluaran
1 a 4 aaaa
2 b 1 b
3 c 4 cccc
4 b 1 a
5 a 1 a
6 b 4 bbbb
Untuk mencatat tiap-tiap byte nilai yang diikuti maka digunakan
suatu counter (pencatat jumlah banyaknya data yang keluar), counter
menandakan berapa banyak pengulangan byte yang tercatat. Ini adalah suatu
gagasan dasar metode kompresi RLE, metode kompresi RLE tidaklah akan
mempunyai suatu hasil baik dan sebagai contoh untuk file yang lebih
besar, sehingga untuk mengkompresi data yang kecil tidak menguntungkan,
tetapi contoh di bawah ini akan menunjukkan implementasi yang sesuai,
menetapkan repetition minimum 2 dan akan memampatkan hanya jika dua atau
lebih bytes adalah sama. Sebagai contoh dari pesan adalah mencari dua bit
nilai yang sama dan mencatat suatu nilai berapa banyak bit nilai yang sama
dan berulang.
Teknik RLE ini mempunyai kelemahan, yaitu terbatasnya bilangan Cc.
Apabila Cc dalam bilangan desimal untuk jumlah karakter lebih dari 9 buah,
maka diperlukan lebih dari satu digit Cc. Oleh karena itu, untuk mengkodekan
karakter Cc, digunakan untuk mengkodekan 256 karakter. Walaupun jumlah
ini tidak terlalu besar, tetapi untuk kebanyakan berkas teks, jumlah ini sudah
lebih dari cukup.
Algoritma metode kompresi RLE hanya efisien dengan data file yang
berisi kelompok data (byte/karakter) yang berulang dan dapat digunakan pada
file teks. File teks berisi banyak kelompok data yang berupa spasi atau
tabulator, tetapi juga dapat diterapkan untuk citra (gambar) yang berisi area
hitam atau putih yang besar.
2. Algoritma Half-Byte
Seperti halnya pada RLE, dalam teknik Half-byte juga memerlukan
karakter khusus sebagai tanda dari sederetan data yang sudah dikompresi
Algoritma Half-byte merupakan suatu metode kompresi dengan prosesnya
adalah memanfaatkan bit sebelah kiri yang sering sama secara berurutan
(Sujani, 2000). misalnya pada suatu file yang berisi data teks bertuliskan
”bilangan”, dalam heksadesimal akan diterjemahkan sebagai berikut:
Tabel 2.4 Konversi Heksadesimal
Karakter Heksadesimal Biner
b 62 01100010
i 69 01101001
l 6c 01101100
a 61 01100001
n 6e 01101110
g 67 01100111
a 61 01100001
n 6e 01101110
Jika diperhatikan karakter-karakter tersebut memiliki bit sebelah kiri
yang sama yaitu ’6’ gejala seperti inilah yang dimanfaatkan oleh Algoritma
Half-byte.
Saat karakter yang bit kirinya sama secara berderet, maka algoritma ini
mengkompres data tersebut diawali dengan ’bit penanda’ kemudian bit
pertama dari deretan yang sama diikuti dengan pasangan bit kanan dari deretan
tersebut dan di tutup dengan bit penanda.
Bit penanda (marker bit, dalam penelitian ini disingkat ’mb’), berupa
suatu byte yang boleh dipilih secara acak asalkan digunakan secara konsisten
pada seluruh bit penanda pemampatan. Bit penanda di sini berfungsi, penanda
bahwa karakter selanjutnya adalah karakter pemampatan atau akhir
pemampatan.
Metode kompresi Half-byte lebih jelasnya sebagai berikut:
ff Bit penanda
62
9c
1e
71
ea
ff
62
69
6c
61
6e
67
61
6e
6a
Sumber : (Sujani,2000)
Gambar 2.2 Metode Kompresi Half-byte
Deretan data sebelah kiri merupakan deretan data pada file asli,
sedangkan deretan data sebelah kanan merupakan deretan data hasil kompresi
dengan algoritma Half-byte.
Dalam algoritma Half-byte ada beberapa ketentuan yaitu:
a. Bila pada file asli ditemukan nilai yang sama dengan bit penanda,
maka dalam file terkompresi harus dituliskan nilai tersebut sebanyak
dua kali secara beruntun.
b. Bila terjadi penggabungan bit kanan menghasilkan nilai yang sama
dengan bit penanda, sehingga nilai tersebut diduga sebagai bit
penutup, maka deretan file tersebut tidak dikompresi.
BAB III
METODE DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem bertujuan untuk mengidentifikasi permasalahan-
permasalahan yang ada pada sistem di mana aplikasi dibangun yang meliputi
perangkat lunak (software), pengguna (user) serta hasil analisis terhadap sistem
dan elemen - elemen yang terkait. Analisis ini diperlukan sebagai dasar bagi
tahapan perancangan sistem. Analisis sistem Desain dan implementasi ini
meliputi desain data, deskripsi sistem, desain proses dan implementasi desain
dan semua yang diperlukan dalam aplikasi kompresi file.
3.1.1 Analisis Data
Dalam sistem pengkompresian file ini sekumpulan file-file yang
mempunyai berbagai jenis ekstensi yang digunakan sebagai objek penelitian.
Umumnya pengenal tipe file tertera pada nama file tersebut, yaitu tiga huruf
paling kanan setelah titik. Fungsinya adalah untuk mengetahui atau
membedakan jenis file.
Untuk memperoleh hasil yang maksimal dalam kompresi file dan
mempermudah dalam pengujian kebenaran dan keakuratan aplikasi, maka data
yang digunakan diambil dari beberapa file yang ada dalam media penyimpanan
berdasarkan format dan besar kapasitas file. Sehingga dalam aplikasi kompresi
file ini sampel yang di gunakan tidak didefinisikan secara khusus. Artinya
aplikasi ini diharapkan mampu untuk menangani berbagai jenis file.
3.1.2 Spesifikasi Aplikasi
Aplikasi yang akan dibangun memiliki kemampuan sebagai berikut :
a. Melakukan kompresi file terhadap sekumpulan atau sebuah file yang sudah
diketahui ekstensi dan besar kapasitas file.
b. Pengkompresian file ini dapat memampatkan ukuran file aslinya menjadi
lebih kecil.
c. Sampel yang di gunakan tidak didefinisikan secara khusus. Artinya aplikasi
ini diharapkan mampu untuk menangani berbagai jenis file.
d. Melakukan dekompresi file terhadap file yang telah terkompresi, agar
kembali ke ukuran dan bentuk file aslinya dan file tersebut dapat digunakan
sebagaimana mestinya.
3.1.3 Spesifikasi Pengguna
Aplikasi ini ditujukan untuk digunakan oleh semua pihak yang
membutuhkan aplikasi kompresi file khususnya para orang-orang dibidang
teknologi informasi yang selalu berhubungan dengan komputer dan data.
3.1.4 Lingkungan Operasi
Untuk membangun aplikasi kompresi file sesuai dengan spesifikasi
kebutuhan, dibutuhkan lingkungan operasi sebagai berikut :
a. Sistem Operasi Windows XP
Sistem operasi ini dipilih karena sudah banyak dikenal sehingga mudah
dalam pengoperasiannya.
b. Bahasa pemprograman Delphi 7
3.1.5 Deskripsi Sistem
Dalam pembahasan ini akan membahas mengenai deskripsi sistem yang
dikerjakan pada skripsi ini. Tujuan pembuatan sistem ini adalah untuk
membuat aplikasi pengkompresian file. Sistem ini dapat memampatkan ukuran
file dengan maksimal sesuai dengan jenis file telah diketahui. Metode yang
digunakan pada sistem ini adalah dengan metode Half-Byte. Sedangkan
tahapan dalam pengkompresian file ada 2 tahapan. Tahap pertama yaitu,
proses pengkompresian atau pemampatan terhadap beberapa file dan tahap
kedua yaitu, proses dekompresi terhadap file-file yang telah terkompresi.
Pada tahap kompresi, proses-proses yang dilakukan adalah :
a. User akan menginputkan file uncompress ( yaitu file yang bukan merupakan
file terkompresi).
b. Cari deretan karakter yang bit pertamanya sama secara berurutan, lakukan
kompresi.
c. Tulis bit penanda pada file kompresi, berupa 8 deretan bit (1byte) yang
boleh dipilih sembarang asalkan digunakan secara konsisten pada seluruh
bit penanda kompresi. Bit penanda ini berfungsi untuk menandai bahwa
karakter selanjutnya adalah karakter kompresi, sehingga tidak
membingungkan pada saat mengembalikan file yang sudah dikompresi ke
file aslinya.
d. Tulis karakter pertama dari bit kiri berurutan dari file asli.
e. Gabungkan bit kanan karakter kedua dan ketiga kemudian tulis ke file
kompresi. Lakukan hal ini sampai akhir deretan karakter dengan bit
pertama yang sama.
f. Tutup dengan menulis bit penanda pada file kompresi.
g. Ulangi langkah-langkah tersebut sampai karakter terakhir.
h. Tulis output kode, hasil output dari proses kompresi adalah file dengan
ekstensi *.ron, dan akan disimpan dengan nama dan direktori sesuai dengan
yang telah ditentukan oleh user.
Sedangkan pada tahap dekompresi file, proses-proses yang dilakukan
adalah :
a. User akan menginputkan file compress yang berekstensi *.ron pada sistem.
b. Amati karakter pada hasil kompresi satu-persatu dari awal sampai akhir,
jika ditemukan bit penanda, lakukan proses pengembalian.
c. Lihat karakter setelah bit penanda, tulis karakter tersebut pada file
pengembalian.
d. Lihat karakter berikutnya, ambil bit kiri dan bit kanannya, lalu masing-
masing bit kiri dan bit kanan digabungkan dengan bit kiri karakter setelah
bit penanda. Hasil gabungan tersebut ditulis pada file pengembalian.
Lakukan sampai ditemukan bit penanda.
e. Kembali ke langkah b - d, sampai karakter terakhir.
f. Hasil output dari proses dekompresi adalah file dengan ekstensi sesuai
dengan file aslinya, dan akan disimpan dengan nama dan direktori sesuai
dengan yang telah ditentukan oleh user.
3.2 Perancangan Aplikasi
Pada perancangan aplikasi pengkompresian file ini ini akan dijelaskan
mengenai rancangan aplikasi yang akan dikerjakan serta fitur-fitur yang akan
dipakai pada aplikasi tersebut. Sampel yang di gunakan tidak didefinisikan
secara khusus. Artinya aplikasi ini diharapkan mampu untuk menangani
berbagai jenis file.
Di mana dilakukan terhadap file dengan berbagai ukuran. Hal ini
bertujuan untuk mengetahui bagaimanakah pengaruh ukuran file terhadap hasil
kompresi yang dilakukan.
3.2.1 Flowchart Algoritma Half-Byte untuk Kompresi
Algoritma Half-Byte merupakan suatu metode kompresi dengan
prosesnya adalah dengan memanfaatkan bit sebelah kiri yang sering sama
secara berurutan (Sujani, 2000).
Langkah awal algoritma Half-Byte ialah membaca data apakah terdapat
deretan data yang bit kirinya sama secara berurutan sebanyak tujuh data atau
lebih, jika memenuhi lakukan pemampatan. Kemudian berikan bit penanda
pada file pemampatan.
Selanjutnya tambahkan bit kiri data pertama dari file asli dan gabungkan
bit kanan karakter yang sama ke file pemampatan. Lalu tutup dengan bit
penanda pada file pemampatan.
Hal tersebut dilakukan sampai dengan akhir file. Flowchart penerapan
algoritma kompresi Half-Byte dalam program aplikasi dapat dilihat pada
gambar 3.1.
Gambar 3.1 Flowchart Program Kompresi Half -Byte
3.2.2 Flowchart Algoritma Half-Byte untuk Dekompresi
Algoritma dekompresi Half-Byte ini langkah dekompresinya sebagai
berikut ;
a) Lihat seluruh data file terkompresi.
b) Jika data bukan merupakan bit penanda, maka data langsung
dimasukkan pada file pengembalian.
c) Jika data merupakan bit penanda, dilakukan beberapa langkah sebagai
berikut :
1. Data ke dua (data setelah bit penanda) di tambahkan ke dalam file
pengembalian.
2. Pada data berikutnya gabungkan bit kiri (sebagai bit kanan) dengan
data bit ke dua sebelah kiri (sebagai bit kiri). Kemudian bit
kanannya (sebagai bit kanan) dengan data bit kedua sebelah kiri
(sebagai bit kiri). Hasil dari penggabungan data ditambahkan pada
file pengembalian .
3. Lakukan penggabungan file hingga ditemukan bit penanda yang
berfungsi sebagai bit penutup.
Berikut ini gambaran flowchart dari proses dekompresi menggunakan
algoritma Half- Byte.
Gambar 3.2 Flowchart Program Dekompresi Half-Byte
3.2.3 Contoh Algoritma Half- Byte
Berikut ini contoh aplikasi kompresi dan dekompresi dengan
menggunakan algoritma Half-Byte. Contoh berikut ini hanya akan menjelaskan
pengkompresian dan dekompresi terhadap beberapa karakter dengan
mengkodekan menurut kode ASCII.
1. Kompresi dengan Half-Byte
Sebagai contoh, misalnya pada suatu file text berisi tulisan ”mengambil ”
, dalam heksadesimal dan biner karakter-karakter tersebut diterjemahkan
sebagai berikut :
Tabel.3.1 Bentuk ASCII
Karakter Heksadesimal Biner
M
e
n
g
a
m
b
i
l
6D
65
6E
67
61
6D
62
69
6C
01101101
01100101
01101110
01100111
01100001
01101101
01100010
01101001
01101100
Jika anda perhatikan karakter-karakter tersebut memiliki empat bit
sebelah kiri yang sama yaitu 0110. Gejala seperti inilah yang dimanfaatkan
oleh algoritma Half-Byte.
Saat karakter yang empat bit pertamanya sama diterima secara berderet
tujuh kali atau lebih, algoritma ini mengkompres data tersebut dengan bit
penanda kemudian karakter pertama dari deretan empat bit yang sama diikuti
dengan pasangan empat bit terakhir deretan berikutnya dan ditutup dengan bit
penutup. Algoritma ini paling efektif pada file-file text, dimana biasanya berisi
text-text yang memiliki empat bit pertama yang sama. Lebih jelas algoritma
Half-Byte dapat digambarkan dalam biner dan heksadesimal sebagai berikut :
ff Bit penanda
6D
5E
71
D2
9c
ff
6D
65
6E
67
61
6D
62
69
6C
Gambar 3.3 Kompresi Half-Byte dalam heksadesimal
Gambar 3.4 Kompresi Half-Byte dalam biner
b it penanda011 011 01011 001 01011 011 10011 001 11011 000 01011 011 01011 000 10011 010 01011 011 00
111 111 10011 011 01010 111 10011 100 01110 100 10100 111 00111 111 10
Deretan data sebelah kiri merupakan deretan data pada file asli,
sedangkan deretan data sebelah kanan merupakan deretan data hasil
pemampatan dengan algoritma Half-Byte. Langkah-langkah yang dilakukan
adalah :
1. Lihat apakah terdapat deretan karakter yang bit pertamanya sama secara
berurutan tujuh karakter atau lebih, jika memenuhi lakukan pemampatan.
Pada contoh di atas deretan karakter yang sama secara berurutan sebanyak 9
karakter, jadi dapat dilakukan pemampatan.
2. Berikan bit penanda pada file pemampatan, bit penanda disini berupa 8
deretan bit (1 byte) yang boleh dipilih sembarang asalkan digunakan secara
konsisten pada seluruh bit penanda pemampatan. Bit penanda ini berfungsi
untuk menandai bahwa karakter selanjutnya adalah karakter pemampatan
sehingga tidak membingungkan pada saat mengembalikan file yang sudah
dimampatkan ke file aslinya. Pada contoh di atas bit penanda ini dipilih
11111110.
3. Tambahkan karakter pertama bit kiri berurutan dari file asli, pada contoh
diatas karakter pertama bit kiri berurutan adalah 01101101.
4. Gabungkan bit kanan karakter kedua dan ketiga kemudian tambahkan ke file
pemampatan. Pada contoh di atas karakter kedua dan ketiga adalah
01100101 dan 01101110, gabungan bit kanan kedua karakter tersebut
adalah 01011110. Lakukan hal ini sampai akhir deretan karakter dengan bit
pertama yang sama.
5. Tutup dengan bit penanda pada file pemampatan.
Untuk melakukan proses pengembalian ke data asli (decompression),
dilakukan langkah-langkah berikut ini :
1. Lihat karakter pada hasil pemampatan satu-persatu dari awal sampai akhir,
jika ditemukan bit penanda, lakukan proses pengembalian.
2. Lihat karakter setelah bit penanda, tambahkan karakter tersebut pada file
pengembalian. Lihat karakter berikutnya, jika bukan bit penanda, ambil bit
kanannya lalu gabungkan dengan bit kanan karakter di bawahnya. Hasil
gabungan tersebut ditambahkan pada file pengembalian. Lakukan sampai
ditemukan bit penanda.
Pemilihan bit penanda diusahakan dipilih pada karakter yang paling
sedikit jumlahnya terdapat pada file yang akan dimampatkan, sebab jika pada
file asli ditemukan karakter yang sama dengan bit penanda, terpaksa anda harus
menulis karakter tersebut sebanyak dua kali pada file pemampatan. Hal ini
harus dilakukan untuk menghindari kesalahan mengenali apakah bit penanda
pada file pemampatan tersebut benar-benar bit penanda atau memang karakter
dari file yang asli. Sebagai contoh jika terdapat deretan data pada file asli
seperti berikut ini :
Tabel 3.2 Kompresi Half-Byte
dengan nilai yang sama dengan bit penanda
File Asli File terkompresi Keterangan
ff f6
fc fe f6 fa fa f2 f0 f2
ff ff f6 ce 6a a2 02 ff
* mb
mb
keterangan :
mb : marker bit atau bit penanda
*) Nilai yang ditulis ulang karena sama dengan bit penanda.
Bila terjadi penggabungan bit kanan menghasilkan nilai yang sama
dengan bit penanda, sehingga nilai tersebut diduga sebagai bit penutup, maka
deretan file tersebut tidak dikompresi. Sebagai contoh nilai hasil kompesi sama
dengan bit penanda :
Tabel 3.3 Kompresi Half-Byte dengan nilai hasil kompresi sama dengan bit penanda
File Asli File terkompresi Keterangan ef e8 ec ef ef ea eb e2 e0
ff ef 8c ff ab 20 ff
mb
*
mb
*) Nilai hasil kompresi sama dengan bit penanda
2. Perhitungan Rasio Ukuran Kompresi
Setelah proses penyimpanan selesai, maka akan diketahui berapa ukuran
filenya. Ukuran file ini yang akan diproses dalam perhitungan rasio dengan file
aslinya.
Dengan menggunakan persamaan 3.1 diberikan contoh perhitunganya
dengan contoh ukuran file terkompresi berukuran 20 dan ukuran file asli
berukuran 25 ( Nelson, 1996 ).
����� � �1 � ���� ���� ���������� ���� ���� �� x 100 %
Rasio = ( 1 � �2025� ) X 100 %
Rasio = ( 1- [0,8] ) X 100 %
Rasio = = ( 0,2) X 100 %
Rasio = 20 %
3. Dekompresi dengan Half - Byte
Dalam melakukan proses pengembalian file terkompresi ke dalam bentuk
aslinya, dapat di gambarkan sebagai berikut :
Bit penanda ff 6b 5d 71 b2 9a ff
6 b d 1 2 a
5 7 6 9
6 6 6 6 6 6 6 6 6
b 5 d 7 1 b 2 9 a
Gambar 3.5 Proses Dekompresi Half - Byte
a. Amati seluruh data file terkompresi.
b. Jika data bukan merupakan bit penanda, maka data langsung dimasukkan
pada file pengembalian.
c. Jika data merupakan bit penanda, dilakukan beberapa langkah sebagai
berikut :
1. Data ke dua (data setelah bit penanda) di tambahkan ke dalam file
pengembalian.
2. Pada data berikutnya gabungkan bit kiri (sebagai bit kanan) dengan
data bit ke dua sebelah kiri (sebagai bit kiri). Kemudian bit kanannya
(sebagai bit kanan) dengan data bit kedua sebelah kiri (sebagai bit
kiri). Hasil dari penggabungan data ditambahkan pada file
pengembalian .
3. Lakukan penggabungan
berfungsi sebagai
3.3 Perancangan User Interface
Aplikasi ini dibangun dengan desain
yang memiliki dua form
dekompresi. Berikut merupakan gambar dari
dekompresi, dapat dilihat pada
Gambar 3.
Adapun keterangan bagian
a. Main menu yang berisi menu kompresi, dekompresi, dan bantuan. Menu
kompresi adalah untuk melakukan proses kompresi dan menu dekompresi
c
d
e
Lakukan penggabungan file hingga ditemukan bit penanda yang
berfungsi sebagai bit penutup.
User Interface
Aplikasi ini dibangun dengan desain User interface form atau antar muka
form inti, yang terdiri dari interface kompresi dan
dekompresi. Berikut merupakan gambar dari interface kompresi dan
dekompresi, dapat dilihat pada gambar 3.6.
Gambar 3.6 Rancangan Form Aplikasi Kompresi
Adapun keterangan bagian-bagian yang ada dalam gambar 3.6 adalah:
Main menu yang berisi menu kompresi, dekompresi, dan bantuan. Menu
kompresi adalah untuk melakukan proses kompresi dan menu dekompresi
a b
f
g
h
i
J k
L M
N
penanda yang
form atau antar muka
kompresi dan interface
kompresi dan
adalah:
Main menu yang berisi menu kompresi, dekompresi, dan bantuan. Menu
kompresi adalah untuk melakukan proses kompresi dan menu dekompresi
g
untuk melakukan proses dekompresi. Sedangkan menu bantuan berisi
petunjuk atau keterangan tentang aplikasi.
b. Radio button berfungsi untuk memilih pemrosesan secara kompresi atau
dekompresi.
c. Bevel pertama, tempat untuk menginformasikan nama file asli, lokasi
direktori serta ukuran file asli yang akan dikompresi atau didekompresi .
d. Memo isi file yang akan dikompresi dan didekompresi.
e. Bevel kedua, tempat informasi proses hasil prosentase file yang sudah
dikompresi atau file yang didekompresi.
f. Open dialog berfungsi untuk memanggil file yang akan dikompresi atau
didekompresi
g. Tombol save berfungsi untuk menyimpan hasil kompresi dengan algoritma
Half – Byte yang dalam penelitian ini berekstensi *.ron.
h. Tombol exit yang berfungsi untuk keluar dari program aplikasi.
i. Tombol Reset yang berfungsi menghapus semua hasil proses kompresi.
j. Tombol process yang berfungsi dalam menjalankan proses kompresi dengan
menggunakan algoritma Half - Byte
k. Label Informasi waktu lamanya proses kompresi di jalankan.
l. Tombol dekompresi untuk proses pengembalian file ke bentuk aslinya.
m. Label Waktu lamanya proses dekompresi dilakukan.
n. Tombol Save to original file berfungsi untuk menyimpan file hasil
dekompresi ke bentuk file asal sesuai dengan ekstensinya.
3.2.4 Perancangan Uji Coba dan Evaluasi Hasil
Uji coba sistem kompresi terhadap file akan digunakan untuk melakukan
evaluasi terhadap hasil kompresi dan dekompresi yang dihasilkan oleh sistem.
Tujuannya yaitu untuk mengetahui apakah penerapan algoritma Half - Byte ini
dapat mengkompresi suatu file dengan efektif.
1. Rancangan Uji Coba
Pengujian yang akan dilakukan terhadap sistem adalah dengan
menginputkan berbagai jenis ekstensi file . Uji coba dilakukan terhadap file
dengan berbagai ukuran. Hal ini bertujuan untuk mengetahui bagaimanakah
pengaruh ukuran file terhadap kompresi yang dilakukan.
2. Analisa dan evaluasi hasil
Output yang dihasilkan dari proses kompresi akan dievaluasi dengan
memperhatikan ukuran file hasil kompresi, rasio kompresi yang dicapai.
Sedangkan output yang dihasilkan dari proses dekompresi akan dievaluasi
dengan memperhatikan ukuran file hasil dekompresi.
Rancangan tabel untuk hasil dari uji coba yang dilakukan pada penelitian
ini akan ditampilkan pada tabel 3.4 dan tabel 3.5.
Tabel 3.4 Rancangan tabel hasil uji coba untuk proses kompresi
Nama File Ukuran File Asli (byte)
Ukuran File Terkompresi
Rasio Kompresi
Tabel 3.5 Rancangan tabel hasil uji coba untuk proses dekompresi
Nama File Ukuran File Terkompresi
Ukuran hasil dekompresi
BAB IV HASIL DAN PEMBAHASAN
Dalam bab ini dibahas mengenai hasil uji coba sistem yang telah
dirancang dan dibuat. Uji coba dilakukan untuk mengetahui apakah sistem
dapat berjalan sebagaimana mestinya dengan lingkungan uji coba yang telah
ditentukan sesuai dengan skenario yang dijelaskan pada bab 3.
4.1 Lingkungan Implementasi
Lingkungan implementasi meliputi lingkungan perangkat keras serta
perangkat lunak.
4.1.1 Lingkungan Perangkat Keras
Perangkat keras yang digunakan dalam pengembangan sistem pembuatan
kompresi file dan uji coba adalah :
1. Processor Intel Dual Core 1.73 GHz
2. RAM 512 MB.
3. Harddisk dengan kapasitas 120 GB.
4. VGA 64 MB
5. Monitor 14’’
6. Keyboard.
7. Mouse Ps2.
4.1.2 Lingkungan Perangkat Lunak
Perangkat lunak yang digunakan dalam pengembangan sistem pembuatan
kompresi dan uji coba adalah :
1. Sistem Operasi Microsoft Windows XP Professional SP 2.
2. Pemrograman Delphi 7.
3. MS. Visio 2003.
4. Adobe Photoshop.
4.2 Implementasi Program
4.2.1 Strukur Data
Struktur data pada program ini adalah :
// Struktur Data Type FSize,FCSize: LongInt; FCBSize: LongInt; FCSaveSize: LongInt; Metode: Integer; Buf: array[1..5000000] of Char; BufC: array[1..5000000] of Char;
Buf adalah sebuah array yang digunakan untuk menyimpan data
kompresi sementara. Sedangkan BufC digunakan untuk menyimpan data akhir
hasil kompresi dan dekompresi.
4.2.2 Prosedur
Prosedur yang digunakan dalam proses kompresi dan dekompresi file
antara lain prosedur inisialisasi data, pemberian kode data file, penentuan bit
penanda, kompresi Half-Byte, dekompresi file, penyimpanan file terkompresi,
penyimpanan file dekompresi.
4.1 Prosedur inisialisasi data file
4.2.3 Prosedur Pemberian kode data file
Pada awal data hasil kompresi diberi sebuah kode atau tanda berupa
karakter ’HAL’ tujuannya sebagai penanda awal bahwa file tersebut adalah
dikompresi menggunakan metode Half-Byte .
BufC[1]:='H';BufC[2]:='A';BufC[3]:='L';
4.2 Merupakan pemberian kode data file
4.2.4 Prosedur Penentuan bit penanda
Bit penanda ditentukan dengan mencari data dalam file yang jumlahnya
paling sedikit atau paling kecil tingkat kemunculannya. Kemudian bit penanda
diletakkan setelah kode ‘HAL’.
// prosedur penentuan bit penanda for uu:=0 to 255 do Begin SigmaAscii[uu]:=0; end; SigmaMin:=1000000; for i:=0 to Fsize-1 do begin Inbuf:=integer(Buf[1+i]); inc(SigmaAscii[Inbuf]); end;
// inisialisasi data Assign File(FromF, OpenDialog1. FileName); Reset(FromF, 1); Fsize := FileSize(FromF); repeat BlockRead(FromF, Buf, SizeOf(Buf), NumRead) ; until (NumRead = 0); Close File(FromF);
for uu:=0 to 255 do begin if SigmaAscii[uu]<SigmaMin then begin SigmaMin:=SigmaAscii[uu]; BitPenanda:=uu; end; end; BufC[4]:=chr(BitPenanda);
4.3 Prosedur penentuan bit penanda
4.2.5 Prosedur kompresi Half-Byte
Proses kompresi Half-Byte diawali membaca data yang telah
diinisialisasi kemudian mencari tujuh atau lebih deretan data yang bit sisi
kirinya sama. Deretan tersebut kemudian dikompresi dengan dibuka dan
ditutup dengan bit penanda. Proses berulang hingga akhir data file yang
dikompresi.
// prosedur kompresi Half-Byte. ii:=4; BitKiriS:=(inttohex(Integer(Buf[FSize]),2)); Delete(BitKiriS,2,1); if BitKiriS='4' then Buf[FSize+1]:='P' else Buf[FSize+1]:='O'; //O=4F P=50 +akhir file i:=1; SameHB:=1; JadiPenanda:=false; BitKiriS:=(inttohex(Integer(Buf[i]),2)); Delete(BitKiriS,2,1); While i<=FSize do Begin if (SameHB=1) and (Buf[i]=chr(BitPenanda)) then JadiPenanda:=True; BitKananS:=(inttohex(Integer(Buf[i]),2)); Delete(BitKananS,1,1); i:=i+1; BitKiriT:=(inttohex(Integer(Buf[i]),2)); Delete(BitKiriT,2,1); if (BitKiriT=BitKiriS) and (JadiPenanda=false) then begin SameHB:=SameHB+1; if (SameHB mod 2)=1 then
begin BitKananT:=(inttohex(Integer(Buf[i]),2)); Delete(BitKananT,1,1); if StrtoIntDef('$'+BitKananS+BitKananT,255)=BitPenanda then JadiPenanda:=True; end; end else // tidak sama begin i:=i-SameHB; if (SameHB<7) or (JadiPenanda=True) then begin for uu:=i to i+SameHB-1 do begin ii:=ii+1; BufC[ii]:=Buf[uu]; if Buf[uu]=chr(BitPenanda) then // Bit penanda 2X begin ii:=ii+1; BufC[ii]:=Buf[uu]; end; end; end else // SameHB >= 7 begin ii:=ii+1; Bufc[ii]:=chr(BitPenanda); ii:=ii+1; Bufc[ii]:=Buf[i]; genap:=1; for uu:=i+1 to i+SameHB-1 do begin case genap of 1: begin BitKiriS:=(inttohex(Integer(Buf[uu]), 2)); Delete(BitKiriS,1,1); // ambil kanan genap:=0; end; 0: // ganjil begin BitKiriT:=(inttohex(Integer(Buf[uu]), 2)); Delete(BitKiriT,1,1); // ambil kanan ii:=ii+1; Bufc[ii]:=char(StrtoIntDef('$'+BitKiriS+BitKiriT,25 5)); genap:=1; end; end; end; ii:=ii+1; Bufc[ii]:=chr(BitPenanda); // bit penutup if genap=0 then begin ii:=ii+1;
Bufc[ii]:=char(Integer(Buf[i+SameHB-1]) ) ; end; end; i:=i+SameHB; SameHB:=1; JadiPenanda:=false; BitKiriS:=(inttohex(Integer(Buf[i]),2)); Delete(BitKiriS,2,1); end; end; FCBSize:=ii; FCSaveSize:=FCBSize;
4.4 Prosedur kompresi Half-Byte
4.2.6 Prosedur dekompresi file
Prosedur dekompresi file juga diawali dengan membaca data yang telah
diinisialisasi kemudian mencari bit penanda. Jika ditemukan bit penanda, maka
data selanjutnya adalah data yang terkompresi dan bit penanda ke dua
merupakan bit penutup. Pada data yang terkompresi dilakukan pemisahan bit
kiri dan kanannya sehingga di dapat file aslinya.
// prosedur Dekompresi Half-Byte i:=0; BitPenanda:=Integer(Buf[4]); ii:=4; Repeat inc(ii); If Integer(Buf[ii])=BitPenanda then begin If Integer(Buf[ii+1])=BitPenanda then begin inc(i); BufC[i]:=chr(BitPenanda); inc(ii); end else begin inc(i); BufC[i]:=Buf[ii+1]; BitKiri:=(inttohex(Integer(Buf[ii+1]),2)) ; Delete(BitKiri,2,1);
ii:=ii+2; while (Integer(Buf[ii])<>BitPenanda) and (ii<FSize) do begin BitKanan:=(inttohex(Integer(Buf[ii]),2) ); Delete(BitKanan,2,1); inc(i); BufC[i]:=chr(StrtoIntDef('$'+BitKiri+BitKanan,255)) ; BitKanan:=(inttohex(Integer(Buf[ii]),2) ); Delete(BitKanan,1,1); inc(i); BufC[i]:=chr(StrtoIntDef('$'+BitKiri+BitKanan,255)) ; inc(ii); end; end; end else // Karakter Asli begin inc(i); BufC[i]:=Buf[ii]; end; Until ii>=FSize; FCSize:=i; end; end;
4.5 Prosedur dekompresi file
4.2.7 Prosedur penyimpanan file terkompresi
Data file yang telah dikompresi disimpan dalam buffer. kemudian
data tersebut disimpan dalam file yang di beri ektensi tertentu. Dalam
penelitian ini menggunakan ekstensi *ron .
// penyimpanan file terkompresi begin Assign File(ToF, SaveDialog1. FileName); Rewrite(ToF); for ii:=1 to FCSize do begin Write(ToF, bufC[ii]); end;
Close File(ToF); end;
4.6 Prosedur penyimpanan file terkompresi
4.2.8 Prosedur penyimpanan file dekompresi
Proses penyimpanan data hasil dari dekompresi disimpan dalam bentuk
aslinya, yaitu data yang awal sebelum dilakukan kompresi dengan algoritma
Half-Byte ini.
// penyimpanan file dekompresi begin Assign File(ToF, SaveDialog2. FileName); Rewrite(ToF); for ii:=1 to FCSize do begin Write(ToF, bufC[ii]); end; Close File(ToF); end
4.6 Prosedur penyimpanan file dekompresi
4. 3 Implementasi desain interface
Pada bagian pembahasan ini akan diuji program aplikasi kompresi Half-
Byte yang telah dibuat. Berikut ini adalah tampilan program ketika pertama
kali dijalankan :
Gambar 4.1 Form Aplikasi kompresi
User interface aplikasi kompresi file terdiri dari 2 menu inti yaitu
kompresi dan dekompresi. Pada Radio compres terdapat komponen berupa
field-field dan tombol-tombol untuk menjalankan aplikasi kompresi.
Sedangkan dekompresi terdapat komponen berupa field-field dan tombol-
tombol untuk menjalankan aplikasi dekompresi dan form Help berisi suatu
informasi tentang half-byte.
Pada Radio kompresi terdapat komponen-komponen yang dibutuhkan
dalam antarmuka aplikasi Half-Byte, yaitu :
a. Tabel yang berfungsi untuk menampilkan alamat file yang telah dibuka
dengan mengetahui nama file dan ukuran file.
b. Tombol open file berfungsi untuk mengakses Form Open Windows dan
mencari alamat file dalam bentuk file yang sudah diketahui tipenya.
c. Teks Field berfungsi untuk menampilkan alamat file sebagai tempat
penyimpanan hasil kompresi.
d. Tombol save berfungsi untuk mengakses Form Save Windows dan
menentukan tempat penyimpanan hasil kompresi.
e. ProgressBar berfungsi untuk mengetahui berjalannya program waktu
pemrosesan.
f. Tabel yang berfungsi untuk menampilkan file hasil kompresi dan rasio
kompresi, dengan mengetahui nama file, ukuran file, dan rasio.
g. Teks Field berfungsi untuk menampilkan waktu hasil kompresi, agar
diketahui berapa waktu yang dibutuhkan untuk melakukan proses kompresi.
h. Tombol Kompress berfungsi untuk menjalankan proses kompresi.
i. Tombol Reset yang berfungsi menghapus semua hasil proses kompresi.
Gambar 4.2 Form Aplikasi Dekompresi
Pada radio dekompresi terdapat komponen-komponen yang dibutuhkan
dalam antarmuka aplikasi ini, yaitu :
a. Tabel yang berfungsi untuk menampilkan alamat file terkompresi yang telah
dibuka dengan mengetahui nama file dan ukuran file.
b. Tombol open berfungsi untuk mengakses Form Open Windows dan mencari
alamat file terkompresi dengan jenis file *.ron
c. Teks Field berfungsi untuk menampilkan alamat file sebagai tempat
penyimpanan hasil dekompresi.
d. Tombol save berfungsi untuk mengakses Form Save Windows dan
menentukan tempat penyimpanan hasil dekompresi.
e. ProgressBar berfungsi untuk mengetahui berjalannya program waktu
pemrosesan.
f. Tabel yang berfungsi untuk menampilkan alamat file hasil dekompresi,
dengan mengetahui nama file dan ukuran file.
g. Teks Field berfungsi untuk menampilkan waktu hasil dekompresi, agar
diketahui berapa waktu yang dibutuhkan untuk melakukan proses
dekompresi.
h. Tombol Decompress berfungsi untuk menjalankan proses dekompresi.
i. Tombol Reset yang berfungsi menghapus semua hasil proses kompresi.
4.4 Implementasi Kompresi Algoritma Half-Byte
Tahap kompresi menerapkan algoritma Half-Byte memerlukan karakter
khusus sebagai tanda dari sederetan data yang sudah dikompresi. Cari deretan
karakter yang bit kirinya sama secara berurutan, lakukan kompresi. Tulis bit
penanda pada file kompresi, berupa tujuh atau delapan deretan bit (1 bit)
yang boleh dipilih sembarang asalkan digunakan secara konsisten pada
seluruh bit penanda kompresi. Bit penanda ini berfungsi untuk menandai
bahwa karakter selanjutnya adalah karakter kompresi, sehingga tidak
membingungkan pada saat mengembalikan file yang sudah dikompresi ke
file aslinya. Tulis karakter pertama dari empat bit kiri berurutan dari file asli.
Gabungkan empat bit kanan karakter kedua dan ketiga kemudian tulis ke
file kompresi. Lakukan hal ini sampai akhir deretan karakter dengan empat
bit pertama yang sama. Tutup dengan menulis bit penanda pada file
kompresi.
4.5 Rancangan Uji Coba
Pada subbab ini akan dilakukan perancangan uji coba dari aplikasi
kompresi file ini, baik pengujian terhadap sistem apakah telah sesuai dengan
analisis dan perancangan.
4.5.1 Tujuan Pengujian
Beberapa hal yang menjadi tujuan dari pelaksanaan pengujian terhadap
aplikasi kompresi file, yaitu :
a. Memeriksa perangkat lunak apakah telah berjalan baik (tidak terjadi error).
b. Mengevaluasi hasil dari aplikasi kompresi file apakah telah berjalan sesuai
dengan yang diharapkan.
4.5.2 Skenario Pengujian
Skenario pengujian sistem ini yang di gunakan tidak didefinisikan secara
khusus. Artinya aplikasi ini diharapkan mampu untuk menangani berbagai
jenis file. Pengujian dilakukan terhadap berbagai ukuran file.
Hasil pengujian akan ditampilkan dalam bentuk tabel yang
memperlihatkan hasil eksperimen dengan berbagai proporsi antara data contoh
dan data uji coba.
4.5.3 Bahan Uji Coba
Dalam aplikasi kompresi file ini bahan uji coba yang digunakan yaitu
beberapa tipe data yang umum di gunakan para pengguna komputer. Pengujian
dilakukan terhadap berbagai ukuran file. Data input yang digunakan dalam uji
coba ditunjukkan pada tabel 4.1
Tabel 4.1 Data input untuk uji coba
No. Nama File Tipe File Ukuran File
(bytes) 1 File a1 *.mdb 348.160 2 File a2 *.mdb 217.088 3 File a3 *.mdb 655.360 4 File a4 *.mdb 479.232 5 File a5 *.mdb 253.952 6 File b1 *.vsd 51.200 7 File b2 *.vsd 61.952 8 File b3 *.vsd 56.320 9 File b4 *.vsd 59.392 10 File b5 *.vsd 61.952 11 File c1 *.rtf 23.040 12 File c2 *.rtf 64.512 13 File c3 *.rtf 68.608 14 File c4 *.rtf 27.136 15 File c5 *.rtf 21.504 16 File d1 *.doc 1.966.592 17 File d2 *.doc 48.128 18 File d3 *.doc 282.624 19 File d4 *.doc 37.888 20 File d5 *.doc 65.536 21 File e1 *.bmp 76.854 22 File e2 *.bmp 69.222 23 File e3 *.bmp 57.654 24 File e4 *.bmp 222.834 25 File e5 *.bmp 1.96.662 26 File f1 *. jpg 749.002 27 File f2 *. jpg 70.142 28 File f3 *.jpg 90.646 29 File f4 *.jpg 122.636 30 File f5 *.jpg 105.542 31 File g1 *.xls 74.240 32 File g2 *.xls 118.784 33 File g3 *.xls 476.672 34 File g4 *.xls 45.568 35 File g5 *.xls 122.368 36 File h1 *.exe 929.284 37 File h2 *.exe 103.936 38 File h3 *.exe 155.136
Nama File Tipe File
Ukuran File (bytes)
39 File h4 *.exe 1324.544 40 File h5 *.exe 2297.856 41 File i1 *. txt 477.205 42 File i2 *.txt 1183.398 43 File i3 *.txt 108.440 44 File i4 *.txt 750.014 45 File i5 *.txt 464.120 46 File j1 *.pdf 993.968 47 File j2 *.pdf 1002.743 48 File j3 *.pdf 992.171 49 File j4 *.pdf 1286.915 50 File j5 *.pdf 942.397
4.6 Analisa dan Evaluasi Hasil
4.6.1 Analisa dan Evaluasi Hasil Kompresi
Dalam Al-Qur’an Surat Al-An’am/6:67 Allah berfirman:
Èe≅ä3 Ïj9 :*t7tΡ @� s)tG ó¡•Β 4 t∃ôθ y™uρ tβθ ßϑn=÷è s? ∩∉∠∪
Artinya: ”Untuk setiap berita (yang dibawa oleh rasul-rasul) ada (waktu) terjadinya dan kelak kamu akan Mengetahui”.(Qs. Al-An’am/6: 67).
Likulli nabaim mustaqarrun maknanya adalah untuk setiap berita ada
wujudnya, baik di dunia maupun di akhirat, wa saufa ta’lamuun maknanya
adalah apa yang ada di dunia akan terlihat, apa yang ada di akhirat akan
tampak .
Kejadian-kejadian yang terjadi di akhirat dan kejadian-kajadian di dunia
semua ada beritanya, seperti berita dari zaman Rasullullah SAW sampai berita-
berita yang ada di zaman modern sekarang semua terwujud atau nyata. Pada
ayat di atas kata Mustaqarrun dapat diartikan dengan berita yang tersimpan.
Seperti kejadian-kejadian yang terjadi di akhirat dan berita-berita pada zaman
Rasullullah SAW tersimpan dalam Al-Qur’an dan Hadits, contohnya berita
tentang Isra’ Mi’raj Nabi Muhammad SAW waktu menerima wahyu dari Allah
SWT melalui Malaikat Jibril itu tersimpan dalam Al-Qur’an dan Hadits.
Dengan tersimpannya berita-berita pada zaman Rasullullah SAW dalam Al-
Qur’an dan Hadits, maka berita-berita tersebut dapat dilihat dan dibaca kembali
sampai kapanpun.
Dari penjelasan ayat di atas, maka kata Mustaqarrun dapat juga diartikan
dengan penyimpanan data. Penyimpanan data dilakukan untuk mencegah
terjadinya kerusakan atau kehilangan data dan mempermudah membawa data-
data tersebut ke manapun dan kapanpun dibutuhkan. Penyimpanan data pada
komputer hanya dibatasi dengan kapasitas tertentu, sehingga dengan
banyaknya data, memungkinkan tidak cukupnya perangkat keras penyimpan
data untuk menyimpan semua data yang ada.
Dengan munculnya masalah itu, manusia yang mempunyai ilmu
pengetahuan dan teknologi harus bisa berfikir dan memberikan solusi agar
semua data yang ada dapat tertampung dalam sebuah penyimpan data. Salah
satu ilmu pengetahuan yang dapat menyelesaikan masalah itu adalah dengan
membangun sebuah aplikasi kompresi data. Kompresi data ini berfungsi untuk
memampatkan data yang berukuran besar, agar memperkecil kapasitas pada
tempat penyimpanan data. berikut adalah hasil analisa kompresi dengan
menggunakan metode Half-Byte.
Hasil dari uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.mdb ditunjukkan pada tabel 4.2. uji coba proses kompresi
untuk sebuah file telah menghasilkan sebuah file terkompresi mempunyai tipe
*.ron. dari tabel 4.2 terlihat bahwa sistem dapat menghasilkan file hasil
kompresi dengan ukuran yang lebih kecil dibandingkan dengan ukuran file
aslinya. Proses kompresi terhadap sebuah data yang berukuran sangat kecil
akan menghasilkan sebuah file dengan ukuran yang lebih besar dari aslinya, hal
ini disebabkan karena adanya tambahan header untuk setiap file terkompresi.
Akan tetapi hal ini juga dipengaruhi oleh komposisi dari data tersebut. Rasio
kompresi rata-rata yang dicapai oleh sistem untuk file mempunyai tipe *.mdb
adalah sebesar 36.11 %
Tabel 4.2 Hasil kompresi file *.mdb
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File a1 348.160 189.371 45.60% 2 File a2 217.088 125.285 42.28% 3 File a3 655.360 455.021 30.56% 4 File a4 479.232 291.595 39.15% 5 File a5 253.952 146.066 42.48%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.vsd ditunjukkan pada tabel 4.3. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.vsd adalah sebesar 17.04 %. Tingkat rasio
kompresi untuk sebuah file sangat dipengaruhi oleh komposisi data yang
bersangkutan.
Tabel 4.3 Hasil kompresi file *.vsd
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File b1 51.200 39.548 22.78% 2 File b2 61.952 53.115 14.27% 3 File b3 56.320 45.990 18.35% 4 File b4 59.392 49.168 17.22% 5 File b5 61.952 53.119 14.25%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.rtf ditunjukkan pada tabel 4.4. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.rtf adalah sebesar 26.47 %. Tingkat rasio
kompresi untuk sebuah file sangat dipengaruhi oleh komposisi data yang
bersangkutan.
Tabel 4.4 Hasil kompresi file *.rtf
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File c1 23.040 15.396 33.18% 2 File c2 64.512 56.748 12.04% 3 File c3 68.608 57.672 15.94% 4 File c4 27.136 19.769 27.15% 5 File c5 21.504 13.922 35.26%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.doc ditunjukkan pada tabel 4.5. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.doc adalah sebesar 20.82 %. Tingkat rasio
kompresi untuk sebuah file sangat dipengaruhi oleh komposisi data yang
bersangkutan.
Tabel 4.5 Hasil kompresi file *.doc
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File d1 1.966.592 1.333.222 32.20% 2 File d2 48.128 38.274 20.47% 3 File d3 282.624 246.834 12.66% 4 File d4 37.888 30.038 20.71% 5 File d5 65.536 51.332 21.67%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.bmp ditunjukkan pada tabel 4.6. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.bmp adalah sebesar 52.05 %. Tingkat rasio
kompresi untuk sebuah file sangat dipengaruhi oleh komposisi data yang
bersangkutan.
Tabel 4.6 Hasil kompresi file *.bmp
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File e1 76.854 42.445 44.77% 2 File e2 69.222 50.750 26.68% 3 File e3 57.654 43.132 25.19% 4 File e4 2.22.834 171.444 76.93% 5 File e5 1.96.662 163.293 83.03%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.jpg ditunjukkan pada tabel 4.7. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.jpg adalah sebesar 00.11%. Artinya algoritma
half-byte tidak efektif terhadap tipe file ini.
Tabel 4.7 Hasil kompresi file *.jpg
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File f1 749.002 750.945 02.59% 2 File f2 70.142 70.150 00.11% 3 File f3 90.646 90.692 00.51% 4 File f4 122.636 122.833 01.61% 5 File f5 105.542 105.554 00.11%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.xls ditunjukkan pada tabel 4.8. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.xls adalah sebesar 31.06 %. Tingkat rasio
kompresi untuk sebuah file sangat dipengaruhi oleh komposisi data yang
bersangkutan.
Tabel 4.8 Hasil kompresi file *.xls
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File g1 74.240 71.777 33.17% 2 File g2 118.784 112.474 53.12% 3 File g3 476.672 470.662 12.60% 4 File g4 45.568 43.780 39.23% 5 File g5 122.368 119.082 26.85%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.exe ditunjukkan pada tabel 4.9. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.exe adalah sebesar 00.52%. Tingkat rasio
kompresi untuk sebuah file sangat dipengaruhi oleh komposisi data yang
bersangkutan.
Tabel 4.9 Hasil kompresi file *.exe
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File h1 929.284 873.214 00.60% 2 File h2 103.936 93.975 00.95% 3 File h3 155.136 150.143 00.32% 4 File h4 1324.544 1263.903 00.45% 5 File h5 2297.856 2154.729 00.62%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.txt ditunjukkan pada tabel 4.10. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.txt adalah sebesar 00.43%. Tingkat rasio
kompresi untuk sebuah file sangat dipengaruhi oleh komposisi data yang
bersangkutan.
Tabel 4.10 Hasil kompresi file *.txt
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File i1 477.205 477.096 00.22% 2 File i2 1183.398 1183.378 01.69% 3 File i3 108.440 107.210 11.34% 4 File i4 750.014 743.492 08.69% 5 File i5 464.120 464.100 00.31%
Hasil uji coba terhadap sistem untuk proses kompresi file yang
mempunyai tipe *.pdf ditunjukkan pada tabel 4.11. rasio rata-rata yang dicapai
oleh sistem untuk file bertipe *.pdf adalah sebesar 00.24%. Artinya algoritma
half-byte tidak efektif terhadap tipe file ini.
Tabel 4.11 Hasil kompresi file *.pdf
No. Nama File Ukuran File Asli (bytes)
Ukuran File Terkompresi
(bytes)
Rasio Kompresi
1 File j1 993.968 991.348 00.26% 2 File j2 1002.743 1002.418 00.32% 3 File j3 992.171 992.054 00.11% 4 File j4 1286.915 1286.900 00.09% 5 File j5 942.397 938.420 00.42%
4.6.2 Analisa dan Evaluasi Hasil Dekompresi
Hasil uji coba untuk proses dekompresi ditunjukkan pada tabel 4.12,
tabel 4.13, tabel 4.14, tabel 4.15, tabel 4.16, tabel 4.17, tabel 4.18, tabel
4.20, dan tabel 4.21. Proses dekompresi dari sistem terbukti dapat
mengembalikan sebuah file *.ron menjadi seperti file aslinya. Akan tetapi
untuk ektensi *.exe pada table tabel 4.19, tidak bisa di kembali seperti file
aslinya atau tidak bisa di jalankan, hal ini di karenakan algoritma half-byte
memang pada dasarnya hanya digunakan untuk file teks.
Waktu proses yang dibutuhkan oleh sistem sebenarnya sangatlah
dipengaruhi oleh komposisi data yang bersangkutan serta perangkat keras yang
digunakan oleh user.
Tabel 4.12 Hasil dekompresi file *.mdb
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File a1 189.371 348.160 2 File a2 125.285 217.088 3 File a3 455.021 655.360 4 File a4 291.595 479.232 5 File a5 146.066 253.952
Tabel 4.13 Hasil dekompresi file *.vsd
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File b1 39.548 51.200 2 File b2 53.115 61.952 3 File b3 45.990 56.320 4 File b4 49.168 59.392 5 File b5 53.119 61.952
Tabel 4.14 Hasil dekompresi file *.rtf
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File c1 15.396 23.040 2 File c2 56.748 64.512 3 File c3 57.672 68.608 4 File c4 19.769 27.136 5 File c5 13.922 21.504
Tabel 4.15 Hasil dekompresi file *.doc
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File d1 1.333.222 1.966.592 2 File d2 38.274 48.128 3 File d3 246.834 282.624 4 File d4 30.038 37.888 5 File d5 51.332 65.536
Tabel 4.16 Hasil dekompresi file *.bmp
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File e1 42.445 76.854 2 File e2 50.750 69.222 3 File e3 43.132 57.654 4 File e4 171.444 222.834 5 File e5 163.293 1.96.662
Tabel 4.17 Hasil dekompresi file *.jpg
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File f1 750.945 749.002 2 File f2 70.150 70.142 3 File f3 90.692 90.646 4 File f4 122.833 122.636 5 File f5 105.554 105.542
Tabel 4.18 Hasil dekompresi file *.xls
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File g1 71.777 74.240 2 File g2 112.474 118.784 3 File g3 470.662 476.672 4 File g4 43.780 45.568 5 File g5 119.082 122.368
Tabel 4.19 Hasil dekompresi file *.exe
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File h1 873.214 929.284 2 File h2 93.975 103.936 3 File h3 150.143 155.136 4 File h4 1263.903 1324.544 5 File h5 2154.729 2297.856
Tabel 4.20 Hasil dekompresi file *.txt
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File i1 477.096 477.205 2 File i2 1183.378 1183.398 3 File i3 107.210 108.440 4 File i4 743.492 750.014 5 File i5 464.100 464.120
Tabel 4.21 Hasil dekompresi file *.pdf
No. Nama File Ukuran File Terkompresi
(bytes)
Ukuran hasil dekompresi
(bytes) 1 File j1 991.348 993.968 2 File j2 1002.418 1002.743 3 File j3 992.054 992.171 4 File j4 1286.900 1286.915 5 File j5 938.420 942.397
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan yang didapat dalam pengerjaan skripsi ini adalah :
a. Dari uji coba yang telah dilakukan dengan menggunakan algoritma Half-Byte
terhadap beberapa tipe file, algoritma ini ternyata hanya bisa mengkompres
file teks dan gambar, sedangkan untuk tipe *.exe algoritma half-byte ini tidak
bisa mengembalikan file ke bentuk aslinya.
b. Dari uji coba yang telah dilakukan dengan algoritma Half –Byte, ternyata
algoritma ini mampu melakukan kompresi rata-rata sebesar 30.63%.
5.2 Saran
Beberapa saran untuk pengembangan lebih lanjut yang dapat diberikan oleh
Penulis adalah :
a. Pada aplikasi ini hanya menggunakan satu inputan saja. Akan lebih baik jika
aplikasi mampu menerima banyak inputan ( multi ) dan membentuk satu data
baru hasil kompresi.
b. Evaluasi dapat dilakukan dengan membandingkan dengan algoritma kompresi
losless lainnya.
DAFTAR PUSTAKA
Adam Osborne dan Davis Bunnel, Pengantar Komputer-Mikro, terjemahan oleh
Setiyo Utomo, Ir. Jakarta, Erlangga, 1986.
Anton. 2005. Kompresi dan Teks. Fakultas Teknik Informatika. Univesitas Kristen Duta Wacana.
Eniman M. Yunus, Catatan Kuliah Rangkaian Logika Lanjut, ITB, 1999. G.H. Gonnet, Handbook of Algorithms and Data Structure, London, Addison-
Wesley Publishing Company, International Computer Science Series.
Gonzalez, RC. dan Wintz P. 1987.Aplied data Communication. john Willey & Son.Inc. Canada.
Handayani, Dewi. 2001. Sistem Berkas. Yogyakarta: J&J Learning.
Kay, David C. & Jhon R.Levine. 1993. Graphics file formats. windcrest & McGraw- Hill.kanada.
Nelson, Mark and Gaily LJ. 1996. The data Compression. M&T book. New York Prayogo. 2008. Daftar ekstensi file.
Restyandito. Metode Statistik Kompresi Data .2008.
Rowe , Lawrence A.1998.Image/ Video Compression. University of California.california.
Sujani, Herry dan yessi mulyani. 2000. pemampatan file. Institut Teknologi Bandung.Bandung.
Tony Suryanto, Pemampatan File dengan Algoritma Huffman, Jakarta, Dinastindo, 1995.
Tabel ASCII. 2008. www.LookupTables.com Tanggal akses: 15 Oktober 2009
Wahyudi, Bambang. 2008. Catatan Manajemen Basis Data (Bag. 1). Fakultas Ekonomi. Universitas Gunadarma.
Wolfgang, Ray. JPEG Tutorial. IS & T.