BAB 1 PENDAHULUAN. 1.1 Latar Belakang

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 2 LANDASAN TEORI

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM :

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011


BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

Kode Huffman dan Penggunaannya dalam Kompresi SMS

BAB I PENDAHULUAN. Dalam bidang teknologi informasi, komunikasi data sangat sering

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT

BAB 2 LANDASAN TEORI

Penerapan Pengkodean Huffman dalam Pemampatan Data

BAB 1 PENDAHULUAN Latar Belakang

KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN

Penerapan Pohon Biner Huffman Pada Kompresi Citra

BAB 2 TINJAUAN PUSTAKA

KOMPRESI CITRA. Pertemuan 12 Mata Pengolahan Citra

BAB 2 LANDASAN TEORI

Teknik Pembangkitan Kode Huffman

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

PERBANDINGAN ALGORITMA HUFFMAN DENGAN ALGORITMA SHANNON-FANO

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Teknik Kompresi Citra Menggunakan Metode Huffman

BAB 2 TINJAUAN PUSTAKA

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN LZW (LEMPEL ZIV WELCH) PADA PEMAMPATAN FILE TEKS SKRIPSI CANGGIH PRAMILO

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN SHANNON-FANO DALAM PEMAMPATAN FILE TEKS SKRIPSI NURFITA SARI HASIBUAN

APLIKASI GREEDY PADA ALGORITMA HUFFMAN UNTUK KOMPRESI TEKS

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

BAB I PENDAHULUAN. Saat ini perkembangan teknologi berkembang sangat cepat. Penyimpanan

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS

Pemampatan Citra. Esther Wibowo Erick Kurniawan

Pemampatan Citra Pemampatan Citra versus Pengkodean Citra

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

Kompresi. Definisi Kompresi

PEMAMPATAN CITRA (IMA

Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. tertulis, audio dan video. Objek-objek tersebut yang sebelumnya hanya bisa

1. PENDAHULUAN 1.1. Latar Belakang Masalah

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman

Kompleksitas Algoritma dari Algoritma Pembentukan pohon Huffman Code Sederhana

SATUAN ACARA PERKULIAHAN ( SAP )

PENERAPAN METODE HUFFMAN DALAM PEMAMPATAN CITRA DIGITAL

BAB III METODOLOGI PENELITIAN

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

Kompresi Data dengan Kode Huffman dan Variasinya

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

Implementasi Metode HUFFMAN Sebagai Teknik Kompresi Citra

BAB I PENDAHULUAN. Meningkatnya penggunaan komputer dalam kegiatan sehari hari, secara

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL

APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE BERBASIS ANDROID DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

Penerapan Algoritma Huffman dalam Kompresi Gambar Digital

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

IMPLEMENTASI KOMPRESI DATA TEXT MENGGUNAKAN HUFFMAN CODING

BAB I PENDAHULUAN. dalam storage lebih sedikit. Dalam hal ini dirasakan sangat penting. untuk mengurangi penggunaan memori.

BAB 1 PENDAHULUAN 1-1

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

BAB 1 PENDAHULUAN Latar Belakang

UNIVERSITAS BINA NUSANTARA

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

DATA COMPRESSION CODING USING STATIC AND DYNAMIC METHOD OF SHANNON-FANO ALGORITHM

Kode Huffman. Arya Tri Prabawa Program Studi Teknik Informatika ITB, Bandung 40116,

PENGANTAR KOMPRESI DATA

BAB 3 METODOLOGI PENELITIAN. kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

Implementasi Metode Run Length Encoding (RLE) untuk Kompresi Citra

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA. Kompresi. Oky Dwi Nurhayati, ST, MT

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital

Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif

IMPLEMENTASI ALGORITMA RUN LENGTH ENCODING UNTUK PERANCANGANAPLIKASI KOMPRESI DAN DEKOMPRESI FILE CITRA

ANALISA KODE HUFFMAN UNTUK KOMPRESI DATA TEKS ABSTRAK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENINGKATAN EFISIENSI KODE HUFFMAN (HUFFMAN CODE) DENGAN MENGGUNAKAN KODE HUFFMAN KANONIK (CANONICAL HUFFMAN CODE)

PENERAPAN ALGORITMA HUFFMAN DALAM DUNIA KRIPTOGRAFI

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. penting di abad ini. Seiring dengan perkembangan aktifitas manusia yang semakin

BAB 2 TINJAUAN PUSTAKA. 2.1 Definisi Kompresi Data dan Klasifikasi Algoritma Kompresi Data

Analisis Algoritma Huffman Statis Dalam Kompresi Teks Pada Short Message Service (SMS)

Teknik Kompresi Citra Digital untuk Penyimpanan File menggunakan Format Data XML

Algoritma Huffman dan Kompresi Data

Konstruksi Kode dengan Redundansi Minimum Menggunakan Huffman Coding dan Range Coding

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Transkripsi:

BAB 1 PENDAHULUAN 1.1 Latar Belakang Pemampatan data (data compression) merupakan salah satu kajian di dalam ilmu komputer yang bertujuan untuk mengurangi ukuran file sebelum menyimpan atau memindahkan data tersebut ke dalam media penyimpanan (storage device). Media penyimpanan seperti floppy disk, hard disk dan CD (Compact Disc) mempunyai kapasitas yang terbatas. Jika data yang akan disimpan pada media penyimpanan semakin bertambah dan berukuran besar, maka media penyimpanan tidak dapat menyimpan data tersebut karena melebihi kapasitas. Oleh karena itu, untuk mengatasi masalah ini digunakanlah pemampatan data. Pemampatan data terdiri dari dua proses utama yaitu pemampatan (compression) dan penirmampatan (decompression atau pemulihan data kembali seperti aslinya). Jika suatu file dimampatkan, maka file tersebut harus dapat dibaca kembali setelah file tersebut dinirmampatkan. Ide pemampatan data adalah apabila frekuensi kemunculan karakter pada suatu data diketahui, terdapat suatu cara untuk mengkodekan karakter tersebut, sehingga dibutuhkan ruang yang lebih kecil dalam penyimpanan data. Metode pertama yang muncul untuk pemampatan data adalah Shanon-Fano coding. Shannon dan Fano (1948) mengembangkan algoritma yang menghasilkan sebuah kode dengan jumlah bit

yang lebih sedikit untuk setiap karakter yang terdapat data dengan membangun suatu pohon kode biner dari pada menggunakan kode yang mempunyai panjang tertentu seperti kode ASCII. Gambaran kode yang lebih pendek ini oleh Shannon disebut kode berpanjang peubah (variable length code). Jika frekuensi kemunculannya semakin tinggi, maka kodenya semakin pendek begitu juga sebaliknya. Pada tahun 1952 David Huffman memperkenalkan algoritma pemampatan yang dinamakan Huffman coding. Metode ini memakai hampir semua karakteristik dari Shannon-Fano coding. Prinsip kode Huffman adalah karakter yang paling sering muncul di dalam data dikodekan dengan kode yang lebih pendek, sedangkan karakter yang jarang muncul dikodekan dengan kode yang lebih panjang. Algoritma Huffman membangun pohon biner untuk menghasilkan kode prefix (prefix code). Saat ini terdapat banyak algoritma pemampatan, antara lain LIFO, LZHUF, LZW, Dynamic Markov Compression, Run Length dan lain-lain, tetapi dalam tulisan ini digunakan algoritma Huffman dan Shannon-Fano, karena ke dua algoritma tersebut memiliki beberapa kemiripan karakteristik dan termasuk metode pemampatan yang sejenis yaitu metode lossless. Berdasarkan pengkodean ASCII, string fungsi rekursif membutuhkan 15 byte atau 120 bit (15x8=120 bit) untuk menyimpan string tersebut dalam media penyimpanan. Ukuran string tersebut dapat dikurangi apabila dilakukan proses pemampatan dengan meminimumkan jumlah bilangan bit. Untuk melakukan proses pemampatan dapat digunakan sebuah algoritma. Oleh karena itu, penulis berkeinginan untuk melakukan suatu studi mengenai perbandingan kinerja algoritma pemampatan dalam memampatkan file, yaitu Huffman dan Shannon-Fano dalam menghasilkan file dengan ukuran yang lebih kecil dari ukuran file semula. Pemampatan data dilakukan pada tipe file teks. File teks adalah file yang berisi informasi-informasi yang disajikan

dalam bentuk teks yang merupakan kumpulan dari karakter-karakter atau string yang menjadi satu kesatuan sedangkan string merupakan tipe data yang digunakan untuk menggambarkan atau merepresentasikan kumpulan karakter (huruf, angka, simbol). 1.2 Perumusan Masalah Permasalahan dalam tulisan ini adalah bagaimana mengolah file teks melalui operasi pemampatan dengan mengimplementasikan algoritma Huffman dan Shannon-Fano secara komputerisasi. 1.3 Pembatasan Masalah Dalam melakukan perbandingan algoritma Huffman dan Shannon-Fano dilakukan beberapa batasan sebagai berikut: 1. File teks yang akan dimampatkan adalah file dokumen teks (*.txt), file dokumen (*.doc), file rtf (*.rtf) dan file HTML (*.htm). 2. Perbandingan yang dilakukan berdasarkan rasio pemampatan (ukuran file hasil pemampatan terhadap ukuran file semula, ditulis dalam %) dan kecepatan pemampatannya (ukuran file semula dibagi dengan waktu komputasi yang dibutuhkan dan ditulis dalam satuan KByte/s).

1.4 Tujuan Penelitian Penelitian ini bertujuan untuk membandingkan rasio dan kecepatan pemampatan file teks hasil pemampatan yang diperoleh dari implementasi algoritma Huffman dan Shannon-Fano. 1.5 Kontribusi Penelitian Selain menambah pemahaman dan pengetahuan penulis mengenai pemampatan data, hasil penelitian ini juga bermanfaat untuk melakukan pengiriman data pada saluran komunikasi data dan penyimpanan data dalam ruang penyimpanan yang terbatas. 1.6 Metode Penelitian Secara umum, penelitian dilakukan dengan beberapa tahapan, yaitu: 1. Membahas karakteristik algoritma Huffman dan Shannon-Fano untuk pemampatan file teks. 2. Mengimplementasikan algoritma Huffman dan Shannon-Fano kedalam suatu program 3. Melakukan analisa untuk membandingkan kinerja setiap algoritma berdasarkan rasio dan kecepatan pemampatannya.

1.7 Tinjauan Pustaka Ida Bagus Adi Sudewa dalam artikel yang berjudul Mengenal Character Set, menjelaskan tentang berbagai set karakter yang pernah digunakan pada komputer selain ASCII dan EBCDIC yang lebih dikenal dan umum digunakan hingga sekarang. Herry Purnomo dan Theo Zacharias dalam buku yang berjudul Pengenalan Informatika Perspektif Teknik dan Lingkungan, memuat tentang berbagai tipe bilangan yang digunakan pada memori komputer serta memperkenalkan format file teks yang biasa digunakan dalam menyimpan dokumen. Rinaldi Munir dalam buku yang berjudul Pengolahan Citra Digital dengan Pendekatan Algoritmik, memberikan penjelasan mengenai klasifikasi dan metode pemampatan. Pemampatan bertujuan untuk meminimalkan kebutuhan memori. Prinsip umum yang digunakan pada proses pemampatan, misalnya pemampatan citra adalah mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan untuk merepresentasikan citra menjadi lebih sedikit dari pada representasi citra semula. Jong Jek Siang dalam buku yang berjudul Matematika Diskrit dan Aplikasinya pada Ilmu Komputer, memuat tentang teori mengenai pohon biner yang digunakan untuk pembentukan kode Huffman dan beberapa pertimbangan yang harus dipenuhi dalam pemilihan algoritma, diantaranya efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari dua hal yaitu efisiensi waktu dan memori. Richard Johnsonbaugh dalam buku yang berjudul Matematika Diskrit, memuat tentang kode Huffman paling mudah didefinisikan dengan sebuah pohon berakar. Untuk membuka kode sebuah string bit, dimulai dengan suatu akar dan menuruni

pohon sampai ditemukan sebuah karakter. Bit 0 dan 1 memberitahu apakah harus menuruni pohon ke kanan atau ke kiri. Thomas H. Cormen et al dalam buku yang berjudul Introduction to Algorithms memuat tentang bagaimana pembentukan kode Huffman menjadi suatu kode optimal dengan pembentukan prefix code. Kode Huffman merupakan teknik pemampatan data yang dapat menyimpan 20% hingga 90% tergantung pada karakteristik data. Huffman menemukan algoritma greedy untuk membentuk kode prefiks yang optimal. Algoritma Huffman membangun pohon biner T (yang disebut pohon Huffman) yang berkoresponden dengan kode optimal tersebut dari bawah ke atas (bottom-up). Pohon Huffman direpresentasikan sebagai pohon biner yang berlabel, di mana setiap sisi diberi label 0 untuk cabang kiri dan label 1 untuk cabang kanan. Ida Mengyi Pu dalam bukunya yang berjudul Fundamental Data Compression, menjelaskan mengenai pemampatan data. Buku ini mengedepankan materi yang dapat dipelajari dengan mudah. Topik yang dijelaskan pada buku ini mengandung berbagai teknik pemampatan yang bermanfaat untuk teks, suara, gambar, video dan standar internasional. Linawati dan Henry P. Panggabean dalam makalah yang berjudul Perbandingan Kinerja Algoritma Kompresi Hufman, LZW dan DMC pada Berbagai Tipe File, membahas perbandingan kinerja tiga algoritma kompresi yang masingmasing menggunakan teknik pengkodean yang berbeda, yaitu Algoritma Huffman, LZW (Lempel-Ziv-Welch) dan DMC (Dynamic Markov Compression). Ke tiga algoritma tersebut diimplementasikan ke dalam sebuah perangkat lunak dan diujikan terhadap 12 golongan kasus uji, lalu kinerjanya diukur berdasarkan rasio ukuran file hasil kompresi terhadap file awal dan kecepatan kompresi. Disimpulkan bahwa dalam

hal rasio hasil kompresi, secara rata-rata DMC merupakan yang terbaik dan Huffman merupakan yang terburuk, sedangkan dari sisi kecepatan kompresi, LZW merupakan yang terbaik dan DMC merupakan yang terburuk. Terdapat beberapa jenis file yang tidak tepat untuk dikompresi dengan metode tertentu karena justru menghasilkan file hasil kompresi yang berukuran lebih besar. 1.8 Diagram Konsepsi Secara umum, proses yang dilakukan dalam membandingkan algoritma Huffman dan algoritma Shannon-Fano pada pemampatan file teks dapat digambarkan ke dalam diagram konsepsi sebagai berikut:

File Teks Algoritma Pemampatan Huffman Shannon-Fano Pengurutan Karakter Berdasarkan Frekuensi Pengurutan Karakter Berdasarkan Frekuensi Pembentukan Pohon Biner dengan Penggabungan Frekuensi Karakter Terkecil Pembentukan Pohon Biner dengan Pembagian Frekuensi Karakter Secara Rekursif Pembentukan Kode Huffman Pembentukan Kode Shannon-Fano Implementasi ke dalam Program Komputer Pemampatan File Teks dengan ke dua Algoritma File Hasil Pemampatan dan Informasinya Analisa dan Bandingkan File Hasil Pemampatan Gambar 1.1 Diagram Konsepsi