1
1 BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada zaman sekarang ukuran suatu file menjadi bertambah semakin besar dan membutuhkan memori penyimpanan yang lebih serta membutuhkan waktu
transfer yang lama. Ukuran file yang besar tidak terlalu menjadi masalah karena ukuran hard disk semakin lama semakin besar dengan harga yang semakin
terjangkau. Tetapi jika mengenai file transfer, masalah ukuran file yang besar menjadi penghambat dalam waktu transfer yang menjadi semakin lama.
Dalam bidang ilmu komputer, permasalahan kompresi data sudah menjadi kasus klasik dan telah muncul beberapa algoritma dalam mengatasi permasalahan
tersebut. Beberapa algoritma yang ada antara lain algortima Huffman, Shannon- Fano, Lempel Ziv Welch LZW, Lempel Ziv Storer Szymanski LZSS dan masih
banyak algoritma lainnya. Namun pada skripsi ini, lebih dibahas tentang algoritma Huffman. Kenapa memilih algoritma Huffman, karena algoritma Huffman
merupakan dasar dari berbagai algoritma pengkompresian serta algoritma yang paling sederhana. Algoritma Huffman pertama kali diperkenalkan oleh David A.
Huffman pada tahun 1952 yang menanggapi tantangan oleh dosennya Robert M. Fano untuk membuat sebuah pohon biner yang efisien. Dalam algoritma Huffman,
ada dua macam tipe algoritma yaitu algoritma Huffman Statis dan algoritma Huffman Dinamis. Algoritma Huffman Dinamis lebih mudah dan fleksibel dalam
pembuatan Huffman Tree karena pohon Huffman akan otomatis berubah menyesuaikan kode yang sering muncul dan akan ditempatkan di dekat root
sehingga tidak membutuhkan waktu preprocessing yang lama. Hal ini berbeda dengan algoritma Huffman Statis yang harus melakukan preprocessing dengan
memindai setiap karakter dan mengurutkannya dari yang paling sering muncul sampai yang paling sedikit muncul.
Dalam ilmu komputer dan informasi, Huffman coding adalah suatu entropi algoritma yang digunakan untuk teknik lossless compression
[3]
. Data yang dikompres menggunakan algoritma ini akan menghasilkan hasil dekompresi yang
sama dengan aslinya. Penggunaan teknik ini banyak digunakan untuk kompresi data teks serta informasi penting lainnya yang tidak diperbolehkan adanya data
informasi yang hilang. Saat ini telah banyak tulisan yang mengangkat kasus tentang kompresi data
dengan berbagai macam algoritma yang ada. Banyak yang mengangkat kasus tersebut dengan cara membandingkan efficiency dari algoritma-algoritma yang
ada, implementasi algoritma dengan menggabungkan dua algoritma kompresi dan membandingkan kompleksitas dari semua algoritma. Dalam tulisan ini akan
dibahas tentang algoritma Huffman yang akan diimplementasikan pada data teks. Dengan penggunaan algoritma Huffman sebagai dasar dari penelitian ini, maka
modifikasi untuk pengoptimalan akan dilakukan mengingat juga posisi algoritma Huffman seperti yang telah disebutkan sebelumnya. Pengujian dalam penelitian
ini akan dilakukan untuk algoritma Huffman Statis, Huffman Dinamis dan pengembangan algoritma Huffman. Sehingga nantinya akan didapat sebuah
pengembangan algoritma dari Huffman yang dapat berguna bagi optimalisasi transfer data dan mengoptimalkan kapasitas penyimpanan memori.
1.2 Rumusan Masalah