Top Banner
BAB I PENDAHULUAN 1.1 Latar Belakang * u θèδu ρ üÏ%©!$# r 't ±Σr & ;M¨Ψy _ ;Mx ©ρá÷è¨Β u öx îu ρ ;Mx ©ρâ÷÷êt Β Ÿ÷¨Ζ9$#u ρ t íö¨9$#u ρ $¸Î=t FøƒèΧ ã&é#à2é& šχθçG÷ƒ¨9$#u ρ šχ$¨Β9$#u ρ $\κÈ:t ±t FãΒ u öx îu ρ 7μÎ7t ±t FãΒ 4 (#θè=à2 ÏΒ ÿÍνÌy ϑr O !#s ŒÎ) t y ϑøOr & (#θè?#u u ρ çμ¤)y m u Θöθt ƒ ÍνÏŠ$| Áy m ( Ÿω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
68

KOMPRESI FILEEEEEEEEE.pdf

Oct 25, 2015

Download

Documents

Ozcar Djarot

kompresi file
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: KOMPRESI FILEEEEEEEEE.pdf

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

Page 3: KOMPRESI FILEEEEEEEEE.pdf

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

Page 4: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 5: KOMPRESI FILEEEEEEEEE.pdf

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

Page 6: KOMPRESI FILEEEEEEEEE.pdf

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

Page 7: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 8: KOMPRESI FILEEEEEEEEE.pdf

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

Page 9: KOMPRESI FILEEEEEEEEE.pdf

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

Page 10: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 11: KOMPRESI FILEEEEEEEEE.pdf

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

Page 12: KOMPRESI FILEEEEEEEEE.pdf

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

Page 13: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 14: KOMPRESI FILEEEEEEEEE.pdf

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

Page 15: KOMPRESI FILEEEEEEEEE.pdf

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

Page 16: KOMPRESI FILEEEEEEEEE.pdf

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

Page 17: KOMPRESI FILEEEEEEEEE.pdf

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

Page 18: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 19: KOMPRESI FILEEEEEEEEE.pdf

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,

Page 20: KOMPRESI FILEEEEEEEEE.pdf

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:

Page 21: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 22: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 23: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 24: KOMPRESI FILEEEEEEEEE.pdf

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

Page 25: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 26: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 27: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 28: KOMPRESI FILEEEEEEEEE.pdf

Gambar 3.1 Flowchart Program Kompresi Half -Byte

Page 29: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 30: KOMPRESI FILEEEEEEEEE.pdf

Gambar 3.2 Flowchart Program Dekompresi Half-Byte

Page 31: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 32: KOMPRESI FILEEEEEEEEE.pdf

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

Page 33: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 34: KOMPRESI FILEEEEEEEEE.pdf

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 :

Page 35: KOMPRESI FILEEEEEEEEE.pdf

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

Page 36: KOMPRESI FILEEEEEEEEE.pdf

*) 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 :

Page 37: KOMPRESI FILEEEEEEEEE.pdf

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 .

Page 38: KOMPRESI FILEEEEEEEEE.pdf

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

Page 39: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 40: KOMPRESI FILEEEEEEEEE.pdf

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

Page 41: KOMPRESI FILEEEEEEEEE.pdf

Tabel 3.5 Rancangan tabel hasil uji coba untuk proses dekompresi

Nama File Ukuran File Terkompresi

Ukuran hasil dekompresi

Page 42: KOMPRESI FILEEEEEEEEE.pdf

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 :

Page 43: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 44: KOMPRESI FILEEEEEEEEE.pdf

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);

Page 45: KOMPRESI FILEEEEEEEEE.pdf

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

Page 46: KOMPRESI FILEEEEEEEEE.pdf

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;

Page 47: KOMPRESI FILEEEEEEEEE.pdf

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);

Page 48: KOMPRESI FILEEEEEEEEE.pdf

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;

Page 49: KOMPRESI FILEEEEEEEEE.pdf

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 :

Page 50: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 51: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 52: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 53: KOMPRESI FILEEEEEEEEE.pdf

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

Page 54: KOMPRESI FILEEEEEEEEE.pdf

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

Page 55: KOMPRESI FILEEEEEEEEE.pdf

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

Page 56: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 57: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 58: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 59: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 60: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 61: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 62: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 63: KOMPRESI FILEEEEEEEEE.pdf

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

Page 64: KOMPRESI FILEEEEEEEEE.pdf

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

Page 65: KOMPRESI FILEEEEEEEEE.pdf

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

Page 66: KOMPRESI FILEEEEEEEEE.pdf

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

Page 67: KOMPRESI FILEEEEEEEEE.pdf

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.

Page 68: KOMPRESI FILEEEEEEEEE.pdf

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.