pengembangan algoritma dari Huffman yang dapat berguna bagi optimalisasi transfer data dan mengoptimalkan kapasitas penyimpanan memori.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang dipaparkan sebelumnya maka dapat dibuat beberapa rumusan masalah antara lain:
1. Bagaimana cara mengecilkan ukuran suatu file teks untuk mempercepat transfer data antar media penyimpanan?
2. Bagaimana cara mengecilkan ukuran suatu file teks untuk mempercepat proses upload atau download?
3. Bagaimana cara mengecilkan ukuran suatu file teks untuk menghemat kapasitas memori penyimpanan serta mengoptimalkan kapasitas memori?
1.3 Tujuan
Tujuan dari penelitian ini adalah menemukan optimalisasi dari algoritma Huffman untuk kompresi data teks sebagai suatu cara untuk mempercepat proses
transfer antar media penyimpanan, serta untuk menghemat dan mengoptimalkan kapasitas memori penyimpanan.
1.4 Batasan Masalah
Dalam penelitian ini, penulis menentukan beberapa batasan masalah untuk mempersempit lingkup permasalahan, antara lain :
1. Algoritma yang dibahas dalam tulisan ini hanya digunakan untuk data
bertipe teks. Data yang dimaksud adalah data berisi huruf, angka atau karakter yang terdapat dalam standar ASCII.
2. Data teks yang digunakan hanya untuk file betipe .TXT Text Document.
1.5 Manfaat Penelitian
Manfaat yang didapat dari penelitian ini, antara lain : 1.
Memberikan analisis
sejauh mana
algoritma Huffman
dapat dikembangkan untuk menghasilkan algoritma kompresi yang lebih baik.
2. Membantu masyarakat dalam melakukan pengoptimalan memori
penyimpanan serta mempermudah dan mempercepat dalam proses transfer upload dan download suatu file teks.
1.6 Luaran Penelitian
Luaran penelitian ini adalah sebuah algoritma kompresi file teks yang merupakan pengembangan dari algoritma Huffman. Selain itu, produk yang
didapat adalah sebuah aplikasi untuk menjalankan ketiga algoritma. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.7 Sistematika Penulisan BAB I
PENDAHULUAN
Berisi latar belakang, rumusan masalah, tujuan, batasan masalah, manfaat penelitian, luaran penelitian dan sistematika penulisan untuk mempermudah
pemahamannya.
BAB II LANDASAN TEORI
Bab ini berisi mengenai berbagai macam landasan teori yang digunakan untuk penelitian ini.
BAB III METODOLOGI DAN PERANCANGAN
Bab ini berisi analisa dan gambaran umum dari perancangan algoritma yang akan dibuat dari pengembangan algoritma Huffman.
BAB IV IMPLEMENTASI
Berisi implementasi dari algoritma serta rancangan yang telah dibuat. BAB V
PENGUJIAN DAN ANALISIS
Berisi pengujian dari algoritma yang telah dibuat kedalam beberapa kondisi pengujian.
BAB VI PENUTUP
Berisi kesimpulan yang diperoleh dari keseluruhan proses pembuatan tugas akhir ini, serta beberapa saran yang dapat digunakan untuk pengembangan
algoritma lebih lanjut. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
2 BAB II
LANDASAN TEORI
Pada bab ini penulis akan membahas serta menjelaskan mengenai teori- teori yang mendukung penelitian dalam proses analisa dan implementasi
algoritma. Hal yang dibahas mencakup : pengertian kompresi file, jenis-jenis kompresi file, struktur data, binary tree, pengurutan data, algoritma Huffman
Statis dan algoritma Huffman Dinamis.
2.1 Kompresi 2.1.1 Pengertian
Kompresi adalah mengurangi jumlah data dalam file, gambar atau video tanpa mengurangi kualitas dari data asli. Itu juga berarti mengurangi jumlah bit
yang diperlukan untuk menyimpan dan atau mengirimkan melalui media digital
[1]
. Dalam kompresi, jika data tersebut akan dipergunakan kembali maka harus
dilakukan proses dekompresi. Dekompresi adalah suatu proses pengubahan kembali kode-kode yang digunakan untuk mengurangi jumlah bit menjadi data
awal. Pemilihan algoritma yang tepat dalam kompresi tidak hanya bagaimana
algoritma itu dapat mengembalikan data menjadi seperti semula, tetapi ada beberapa faktor lain yang dipertimbangkan. Faktor tersebut antara lain :
1. Sumber daya yang dibutuhkan memori, kecepatan komputer
2. Kecepatan kompresi
3. Ukuran hasil kompresi
4. Besarnya redudansi
5. Ketepatan hasil dekompresi
6. Kompleksitas algoritma
2.1.2 Jenis Kompresi
Teknik kompresi itu sendiri terdiri dari dua jenis yaitu Lossless Compression dan Lossy Compression. Kedua jenis kompresi tersebut akan
dijelaskan sebagai berikut :
2.1.2.1 Lossless Compression
Jika data dikompresi menggunakan teknik Lossless Compression, hasil dekompresiakan menghasilkan data yang sama dengan aslinya. Teknik ini biasa
digunakan untuk aplikasi yang tidak diperbolehkan adanya perbedaan antara data asli dengan data hasil dekompresi. Contoh : ZIP, RAR, GZIP, 7-ZIP.
Kelemahan dari metode ini adalah ratio kompresi yang rendah. Rasio dapat dihitung dengan persamaan :
�� � = − � � �
� � � � � � � �
Penerapan algoritma ini biasanya dilakukan pada data teks yang tidak diperbolehkan adanya bit yang hilang, serta pada kompresi citra medis. Oleh
karena itu secara umum, compression ratio yang tinggi tidak akan mungkin terjadi jika menggunakan teknik lossless compression
[2]
.
2.1.2.2 Lossy Compression
Teknik Lossy Compression memperbolehkan adanya informasi dan data yang hilang setelah proses dekompresi. Contoh : MP3, JPEG, MPEG dan WMA.
Kelebihan dari teknik ini adalah ukuran file yang lebih kecil namun masih dapat memenuhi syarat setelah di dekompresi. Teknik ini sebenarnya
membuang bagian-bagian yang tidak berguna, tidak begitu dirasakan dan tidak begitu dilihat sehingga manusia masih beranggapan bahwa data tersebut masih
memenuhi syarat dan masih bisa digunakan. Jika dilihat dari contoh di atas, sebagian besar produk hasil dari teknik ini
merupakan file multimedia seperti lagu, gambar dan video. Hal itu didasarkan karena file multimedia hanya untuk didengar atau dilihat, sehingga data yang
hilang tidak akan terlalu mempengaruhi selagi masih dalam batas wajar.
2.2 Struktur Data