BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG Kemajuan teknologi memicu kebutuhan informasi yang semakin besar. Sayangnya kebutuhan informasi yang besar ini berdampak pada kebutuhan storage (media penyimpanan) yang semakin besar pula. Informasi yang dimaksud adalah informasi yang berupa file text (file berisi tulisan biasa). Teks adalah kumpulan dari karakter karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada media penyimpanan dan kecepatan waktu pada saat transmisi data. Media penyimpanan yang terbatas, membuat semua orang mencoba berpikir untuk menemukan sebuah cara yang dapat digunakan untuk memampatkan data teks. pemampatan ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data. Ada beberapa faktor yang sering menjadi pertimbangan dalam memilih suatu metode pemampatan yang tepat, yaitu kecepatan pemampatan, sumber daya yang dibutuhkan (memori, kecepatan PC), ukuran file hasil pemampatan, besarnya redundansi, dan kompleksitas algoritma. Tidak ada metode pemampatan yang paling efektif untuk semua jenis file. Dalam penelitian ini, diimplementasikan dua buah metode pemampatan, yaitu algoritma Huffman dan LZW yang masing-masing mewakili sebuah kategori teknik pengkodean, dalam bentuk sebuah perangkat lunak. Kedua metode ini diujikan untuk pemampatan dan penirmampatan tipe dan ukuran file text yang berbeda. Lalu dilakukan analisis statistik untuk membandingkan kinerja setiap metode berdasarkan dua faktor, yaitu rasio/perbandingan ukuran file hasil pemampatan terhadap file asli dan kecepatan pemampatannya.
1.2 Rumusan Masalah Dari latar belakang di atas dapatlah dirumuskan beberapa masalah yang menjadi latar belakang penelitian ini, yaitu: 1. Bagaimana cara menerapkan algoritma huffman dan LZW dalam pemampatan data yang berupa data teks dan bagaimana proses encoding pada algoritma Huffman dan LZW untuk data yang akan dimampatkan dari ukuran yang besar menjadi ukuran yang lebih kecil serta bagaimana proses decoding pada algoritma Huffman dan LZW untuk data yang telah dimampatkan agar kembali ke ukuran semula. 2. Menghitung berapa kecepatan pemampatan pada masing-masing algoritma. 3. Berapa rasio/perbandingan ukuran file hasil pemampatan terhadap file asli. 1.3 Batasan masalah Untuk memfokuskan pada tujuan penelitian maka penulis membatasi pembahasan penelitian ini. Adapun yang menjadi pembatasan masalah adalah sebagai berikut: 1. Data yang dimampatkan berupa text, tidak berupa image, video dan audio. 2. Operating System yang digunakan yaitu Windows XP. 3. File yang dimampatkan adalah file teks (*.txt), file rtf (*.rtf), file html (*.htm) dan file dokumen (*.doc). 4. Rasio ( perbandingan ) yang dilakukan berdasarkan kecepatan pemampatan dan ukuran file hasil pemampatan terhadap ukuran semula. 5. Tidak membahas kompleksitas masing-masing algoritma.
1.4 Tujuan Penelitian Tujuan dari penelitian ini adalah untuk mengetahui performansi dari masing-masing algoritma baik itu Algoritma Huffman dan Algoritma LZW dalam pemampatan teks serta mengetahui kelebihan dan kekurangan algoritma Huffman dan LZW 1.5 Manfaat Penelitian Manfaat dari penelitian ini yaitu memahami dan mengetahui bagaimana memilih teknik pemampatan yang tepat, sehingga dapat bermanfaat juga untuk melakukan penyimpanan data dalam ruang penyimpanan yang terbatas. 1.6 Metode Penelitian Penelitian ini dilakukan dengan beberapa tahapan yaitu : 1) Pembelajaran secara literatur Metode ini dilaksanakan dengan melakukan studi kepustakaan melalui membaca buku-buku maupun artikel artikel yang dapat mendukung penelitian. 2) Analisis Masalah Mencari penyebab dan solusi permasalahan yang telah diidentifikasikan pada rurmusan masalah. 3) Perancangan Pada tahap ini akan dilakukan perancangan program pemampatan data teks ( kompresi teks ) yang akan dibuat sesuai dengan analisis yang telah ada.
4) Implementasi aplikasi Tahap ini adalah adalah tahap untuk menterjemahkan rancangan aplikasi ke dalam bentuk yang lebih nyata, dalam hal ini adalah bahasa pemrograman Visual C++. 5) Pengujian Melakukan serangkaian ujicoba terhadap hasil dari implementasi aplikasi, dan memperbaiki jika masih terdapat kesalahan dan menarik kesimpulan dari analisis yang dilakukan. 6) Penyusunan laporan dalam bentuk skripsi 1.7 Sistematika Penulisan Dalam penulisan tugas akhir ini, Penulis membagi sistematika penulisan menjadi 5 Bab, yang lebih jelasnya dapat dilihat di bawah ini : BAB 1 : PENDAHULUAN Berisi tentang latar belakang diambilnya judul Tugas Akhir Studi Perbandingan Algoritma Huffman dan LZW (Lempel-Ziv-Welch) pada Pemampatan File Teks, tujuan dari pembuatan Tugas Akhir ini, batasan masalah dalam perancangan aplikasi, dan sistematika penulisan Tugas Akhir yang menjelaskan secara garis besar susbstansi yang diberikan pada masing-masing bab. BAB 2 : LANDASAN TEORI Membahas tentang pengertian pemampatan data teks (file compression) secara umum, metode dan cara kerja dari algoritma Huffman dan LZW.
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM Berisi analisa dari algoritma Huffman dan LZW, karakteristik dan perancangan kode untuk algoritma Huffman dan LZW. BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini menjelaskan bagaimana mengimplementasikan aplikasi dirancang dan dilanjutkan dengan menguji aplikasi yang dibangun dengan menggunakan bahasa pemrograman Visual C++. BAB 5 : KESIMPULAN DAN SARAN Berisi kesimpulan dan saran-saran dari penulis.