Mengenal lebih Jauh mengenai Huffman Coding

20 Jun 2024 14:25 177 Hits 0 Comments Approved by Plimbi

 huffman code adalah sebuah tipe code yang optimal yang biasanya digunakan untuk lossless data compression. Algoritma Huffman code ditemukan oleh David A. Huffman pada saat ia masih seorang mahasiswa di MIT, ia menerbitkan karyanya pada tahun 1953 yang berjudul “ A method Construction of Minimum Redudancy Codes”.

            Hasil dari algoritma ini dapat berupa table dari kode tiap variable untuk pengkodean sumbernya.Algoritma ini memperoleh dari table tersebut tersebut berdasarkan dan estimasi probabilitas atau frekuensi munculnya untuk setiap nilai yang mungkin dari symbol sumber.

Huffman Code

            Ini adalah sebuah tipe code yang optimal yang biasanya digunakan untuk lossless data compression. Algoritma Huffman code ditemukan oleh David A. Huffman pada saat ia masih seorang mahasiswa di MIT, ia menerbitkan karyanya pada tahun 1953 yang berjudul “ A method Construction of Minimum Redudancy Codes”.

            Hasil dari algoritma ini dapat berupa table dari kode tiap variable untuk pengkodean sumbernya.Algoritma ini memperoleh dari table tersebut tersebut berdasarkan dan estimasi probabilitas atau frekuensi munculnya untuk setiap nilai yang mungkin dari symbol sumber.

 

Sejarah

Pada tahun 1951, David A. Huffman dan rekan mahasiswa di MIT memilih antara membuat makanan atau menyelesaikan ujian akhir. Topik tugas mereka, yang diberikan oleh profesor Robert M. Fano, adalah mencari kode biner paling efisien. Huffman awalnya kesulitan menemukan kode yang paling efisien, dan hampir menyerah untuk mengambil ujian akhirnya. Namun, tiba-tiba ia mendapat ide menggunakan algoritma pohon biner dengan urutan frekuensi. Dengan cepat, ia berhasil membuktikan kepada profesornya bahwa metode ini adalah yang paling efisien.

 

Cara Kerja Pengkodean Huffman

            Kode ini bekerja dengan membuat sebuah binary tree yang sering dikenal dengan huffman tree. Pohon ini dibuat berdasarkan seberapa sering setiap karakter muncul dalam data. Karakter-karakter dengan frekuensi yang lebih tinggi ditempatkan lebih dekat dengan akar pohon, sementara karakter-karakter dengan frekuensi yang lebih rendah ditempatkan lebih jauh.

Setiap simpul daun dalam pohon mewakili satu karakter, dan jalur dari akar ke simpul daun menunjukkan kode biner yang ditetapkan untuk karakter tersebut. Penetapan kode ini memastikan bahwa data yang dikodekan bisa didekode kembali secara unik.

 

Alasan Mengapa Pengkodean Huffman itu Penting

  1. Kompresi data, ini akan melakukan kompresi yang sangat efisien, dan mengurangi kebutuhan ruang penyimpnan dan meningkatkan kecepatan untuk transmisi.
  2. Pelestarian Informasi, meskipun mengurangi ukuran data, huffman code ini memastikan tidak ada informasi yang akan hilang selama proses berlangsung.
  3. Decoding Cepat, kode awalan yang ditetapkan oleh Huffman coding memungkinkan decoding cepat pada data terkompresi
  4. penyimpanan dan pengambilan data yang dioptimalkan, huffman code ini mengoptimalkan penyimpanan dan pengambilan data dengan mengurangi ukurannya dan meningkatkan kecepatan akses.

Kasus Penggunaan Pengkodean Huffman yang Penting

  1. Kompresi Data, ini digunakan dalam algoritma kompresi data seperti ZIP, dan GZIP, mengurangi ukuran file untuk penyimpanan atau transmisi.
  2. Aplikasi Seluler, Huffman Coding bermanfaat dalam aplikasi seluler dimana penyimpanan dan bandwidth terbatas tersedia.
  3. Kompresi Gambar dan Vidio, Huffman code digunakan dalam teknik kompresi gambar dan video seperti JPEG dan MPEG, memungkinkan penyimpanan dan transmisi konten multimedia dan efisien.
  4. Mesin Pencari, Huffman code digunakan oleh mesin pencari untuk mengoptimalkan penyimpanan dan pengambilan data, meningkatkan kecepatan pencarian.

 

Keuntungan Pengkodean Huffman

  1. pengkodean huffman sangat efisien dalam kompresi data karena memberikan kode yang lebih pendek ke simbol yang lebih sering muncul dalam kumpulan data.
  2. tidak memerlukan penanda khusus untuk memisahkan kode yang berbeda. Hal ini membuatnya mudah unutk diimplementasikan
  3. huffman code mudah untuk diitegrasikan dengan sistem yang ada
  4. merupakan kompresi lossles artinya data asli dapat direkontruksi persis dari data terkompresi.
  5. algoritma sederhana dan efisien serta dapat dengan mudah diimplementasikan dalam perangkat lunak dan perangkat keras.

 

Kekurangan Huffman Code

  1. huffman code mengharuskan frekuensi setiap simbol diketahui terlebih dahulum sehingga kurang cocok untuk situasi dimana distribusi simbol tidak diketahui atau berubah secara dinamis.
  2. huffman code bisa jadi rumit dan sulit dipahami, sehingga lebih sulit untuk melakukan debug dan memelihara code
  3. dapat memakan waktu dan mahal secara komputasi terutama untuk kumpulan data yang besar
  4. pengkodean huffman tidak selalu merupakan metode kompresi yang efisien, dan mungkin ada metode lain yang memberikan rasio kompresi lebih baik untuk kumpulan data tertentu.
  5. bisa menjadi kurang efektif pada data yang hanya memiliki sedikit simbol unik, atau jika simbol sudah sangat terkompresi
Tags Teknologi

About The Author

DANENDRA GAFRILA 13
Novice

DANENDRA GAFRILA

Saya adalah Mahasiswa Politeknik Negeri Bandung Jurusan Teknik Komputer dan Informatika Prodi D3 Teknik Informatika. dan disini saya akan menuliskan artikel dengan Tema Teknologi dan Pemrograman
Plimbi adalah tempat menulis untuk semua orang.
Yuk kirim juga tulisanmu sekarang
Submit Artikel