Implementasi Algoritma Kompresi Shannon – Fano pada Citra Digital

  

Implementasi Algoritma Kompresi Shannon

  • – Fano pada Citra Digital

  Muhammad Khoiruddin Harahap

  Politeknik Ganesha Medan choir.harahap@yahoo.com

  

Abstrak

Algoritma kompresi Shannon-Fano merupakan salah satu algoritma kompresi yang terkenal dan berguna

dalam menghemat ruang penyimpanan data. Algoritma kompresi Shannon-Fano mendeteksi berapa kali

kemunculan karakter pada setiap percobaanya, kemudian dilakukan pengkodean terhadap frekuensi

kemunculan karakter dalam bilangan biner (binary code). Algorimat kompresi Shannon-Fano dapat dilakukan

pada teks dan juga pada citra digital. Pada penelitian kali ini, penulis menerapkan metode Shanon-Fano pada

citra digital. Citra digital diubah kedalam bilangan decimal yang berkisar antara 0-255, kemudian nilai setiap

pixel citra yang sama mulai diseleksi dan dihitung berapa kali frekuensi kemunculan setiap nilai pixel yang

sama dalam sebuah citra. Dari total frekuensi kemunculan setiap pixel citra, maka dilakukanlah pembagian

nilai frekuensi menjadi dua bagian agar seimbang bagian pertama dan kedua, dan bagian pertama diberi nilai

biner 0, sedangkan bagian kedua diberi nilai 1, dan hal ini terus berlangsung sampai tidak ada lagi bagian

frekuensi yang tidak seimbang nilainya. Dari sini diperolehlah berapa bit (binary digit) hasil kompresi yang

terbentuk, sehingga rasio kompresi bisa dihitung dari nilai total frekuensi dikali dengan bit dari binary code

yang terbentuk , dan dibagi total frekuensi sebelum kompresi. Pada percobaan kompresi terhadap sebuah citra

  3x3 diperolehlah rasio kompresi sebesar 22%.

  Kata Kunci — Kompresi, Shanon-Fano, Citra ENDAHULUAN

  a) File berukuran besar seperti Citra yang

I. P

  Kompresi atau pemampatan data digunakan merupakan RAW data biasanya berukuran untuk memperkecil ukuran dari sebuah berkas atau besar seperti file .BMP file. Pemampatan data berguna untuk menghemat

  b) Dengan berkurangnya ukuran citra di atas maka ruang penyimpanan data. Beberapa hal yang secara otomatis akan menghemat ruang bermanfaat dalam kompresi antara lain : penyimpanan data c) Pemampatan data citra mampu menghemat bandwith dan tentunya akan mempermudah proses transmisi data

  d) Pengiriman data menjadi lebih cepat seiring dengan ukuran data yang bertambah kecil.

  [3].

  c) Algoritma Shannon - Fano Pada Tahun 1949, Claude Elwood Shannon dan Robert Fano memperkenalkan teknik kompresi dengan mempertukarkan karakter dengan bilangan binary berdasarkan jumlah frekwensi kemunculan karakter tersebut. Algoritmanya dapat kita lihat sebagai berikut :

  Berdasarkan gambar di atas, P adalah sebuah piksel dengan atribut koordinat x,y dan warna sesuai dengan Profil warna yang digunakan sesuai penjelasan sebelumnya.

  Gambar 3. Ilustrasi Citra

  Height

  Width P P P P P P P P P P P P P P P P

  Sebuah Citra gambar ditampilkan dalam bentuk matrik dua dimensi dapat dilihat pada ilustrasi citra 3 x 3 berikut ini :

  Gambar 2. Profil warna HSV Sumber :

  Value) atau disebut juga dengan HSL (Hue, Saturation, Lumination) dan lain sebagainya

  Metode yang dibahas pada paper ini adalah pemampatan data dengan menggunakan metode Shannon – Fano. Yaitu dua orang ilmuwan Claude Elwood Shannon (Bells Lab) dan Robert Fano (MIT) pada tahun 1949. Metode Shannon – Fano ini melakukan pengkodean terhadap frekwensi kemunculan karakter dalam kode binary.

  4. Profil warna yang lainnya masih banyak seperti YcBcr, HSV (Hue - Saturation –

  3. Profil warna CMYK memiliki kombinasi warna Cyan, Magenta, Yellow dan Black dengan rentang warna dari 0 – 100.

II. L ANDASAN T EORI

  2. Profil warna Grayscale. Grayscale atau disebut juga dengan Derajat Keabuan memiliki rentang warna dari 0 – 255 dengan tingkat warna kehitaman.

  Gambar 1. Profil warna RGB Sumber :

  1. Profil warna RGB (Red, Green, Blue) direpresentasikan dengan 3 warna Merah, Hijau dan Biru dengan rentang warna dari 0 – 255. Warna RGB biasa digunakan untuk tampilan layar monitor, LCD, camera, handphone dan lain – lain

  b) Citra Gambar Citra berupa gambar direpresentasi dengan warna dengan berbagai dimensi. Ada yang berupa dua dimensi ataupun 3 dimensi. Representasi warna memiliki profile yang beragam antara lain :

  Citra merupakan keluaran data dengan sifat analog, sinyal video seperti yang ditampilkan oleh Televisi atau monitor komputer, LCD, Camera dan lain – lainnya. Hasil keluaran tersebut disimpan dalam media penyimpanan seperti hardisk atau pita magnetic [6].

  a) Citra Citra merupakan representasi dari sebuah objek.

  1. Membuat daftar karakter / simbol dari semua karakter atau simbol yang akan dilakukan kompresi.

  1 T

  5 N

  5 A

  5 R

  2

  1 SPACE

  3

  1 O

  4

  1 L

  2

  2

  2 M

  1 K

  2

  1 G

  1

  1 F

  1

  1 Gambar 5. Membagi kode binari

  3. Proses dilakukan secara rekursif sampai semua bagian habis menjadi daun.

  S F C S

  2 E

  2 M

  2 I

  2 E

  2. Mengurutkan simbol tersebut berdasarkan frekwensi kemunculan. Karakter yang memiliki frekwensi kemunculan yang tinggi ditempatkan di sebelah kiri dan yang frekwensi kemunculannya rendah ditempatkan pada posisi sebelah kanan.

  5 A

  3. Membagi daftar menjadi dua bagian dengan total frekwensi bagian kiri dan kanan yang saling mendekati satu sama lain.

  4. Membuat Tree dengan kondisi bagian sebelah kiri dengan angka binary 0 dan sebelah kanan dengan angka binary 1

  5. Mengulangi bagian 3 dan 4 secara rekursif sehingga semua mencapai posisi Leaf dalam diagram tersebut [2]. Untuk lebih mudah dalam memahami algoritma tersebut di atas, dapat dilihat pada contoh berikut ini.

  Text : SEMINAR NASIONAL TEKNOLOGI

  INFORMATIKA Simbol yang muncul pada text tersebut adalah :

  SEMINAR [spasi] OLTEKGF

  1. Menentukan frekwensi kemunculan dari karakter tersebut di atas SIMBOL FREKWENSI S

  2 E

  2 M

  2 I

  5 N

  5 R

  S F CODE S

  2 SPACE

  3 O

  4 L

  2 T

  2 K

  2 G

  1 F

  1 Total

  Frekwensi

  38 Gambar 4. Tabel Frekwensi simbol

  2. Membagi dua dengan total frekwensi kemunculannya yang mendekati antara kiri dan kanan. Untuk contoh berikut ini dibedakan dengan atas dan bawah. Sebagai Pembeda antara kiri dan kanan, berikut ini contoh dilakukan dengan memberikan warna yang berbeda seperti berikut ini.

  2 I

  5 I

  5

  1

  1 N

  5

  1 N

  5

  1 A

  5

  1 A

  5

  1

  1 R

  2

  1 R

  2

  1 Space

  3

  1 Space

  3

  1 O

  4

  1 O

  4

  1

  1

  1 L

  2

  1

  1 L

  2

  1

  1 T

  2

  1

  1 T

  2

  1

  1 K

  2

  1

  1 K

  2

  1

  1

  1

  1 G

  1

  1

  1 G

  1

  1

  1

  1

  1 F

  1

  1

  1 F

  1

  1

  1

  1

  1 Gambar 6. Membagi kode binary

  Gambar 8. rekursif proses membagi kode binary

  S F C S F C S

  2 S

  2 E

  2 E

  2

  1 M

  2 M

  2

  1 I

  5

  1 I

  5

  1

  1 N

  5

  1 N

  5

  1 A

  5

  1

  1 A

  5

  1

  1 R

  2

  1 R

  2

  1 Space

  3

  1 Space

  3

  1

  1 O

  4

  1

  1 O

  4

  1

  1

  1 L

  2

  1

  1 L

  2

  1

  1 T

  2

  1

  1 T

  2

  1

  1

  1 K

  2

  1

  1

  1 K

  2

  1

  1

  1

  1 G

  1

  1

  1

  1 G

  1

  1

  1

  1

  1

  1 F

  1

  1

  1

  1 F

  1

  1

  1

  1

  1

  1 Gambar 7. rekursif proses membagi kode binary Gambar 9. rekursif proses membagi kode binary S F C S F C S

  2 S

  2 E

  2 E

  2

  1 M

  2

  1 M

  2

  1 I

  5

  2

  1

  1

  1

  5 Gambar 12. menentukan jumlah bit S F BINARY bit F x bit S

  2

  5

  10 E

  2

  1

  5

  10 M

  1

  1

  4

  8 I

  5

  1

  1

  4

  20 N

  5

  1

  3

  15 A

  1

  1

  1

  5 K

  1

  1

  3 L

  2

  1

  1

  5 T

  2

  1

  1

  1

  2

  1

  1

  1

  1

  1

  4 G

  1

  1

  1

  1

  1

  1

  5 F

  5

  1

  4

  5

  1

  1

  1

  4

  8 G

  1

  1

  1

  1

  1

  1

  5 F

  2

  1

  1

  1

  1

  1

  1

  1

  5

  5 Total F x bit 153

  Gambar 13. perkalian frekwensi dengan bit

  Total Frekwensi = 38 Total F x bit = 153 Ratio Kompresi = (100% - 38/153 x 100)

  1

  10 K

  3

  1

  15 R

  2

  1

  5

  10 Sp

  3

  1

  1

  5

  15 O

  4

  1

  5

  1

  3

  12 L

  2

  1

  1

  5

  10 T

  2

  1

  1

  1

  1

  5 O

  1

  2

  1

  1

  1

  1 F

  1

  1

  1

  1

  1

  1 Gambar 10. rekursif proses membagi kode binary S F BINARY S

  2 E

  1 M

  1

  2

  1 I

  5

  1

  1 N

  5

  1 A

  5

  1

  1 R

  2

  1

  1 G

  3

  4

  1 N

  5

  1 A

  5

  1

  1 R

  2

  1 Space

  3

  1

  1 O

  1

  1

  1

  1 L

  2

  1

  1 T

  2

  1

  1

  1 K

  2

  1

  1

  1 Spc

  1

  1

  4 N

  2

  5 E

  2

  1

  5 M

  2

  1

  4 I

  5

  1

  1

  5

  1

  1

  3 A

  5

  1

  1

  3 R

  2

  1

  5 Spc

  3

  1

  1 Gambar 11. rekursif proses membagi kode binary S F BINARY bit S

  1

  1 O

  2

  4

  1

  1

  1 L

  2

  1

  1 T

  2

  1

  1

  1 K

  1

  1

  1

  1

  1 G

  1

  1

  1

  1

  1

  1 F

  1

  1

  1

  = 75% [1]

EMBAHASAN HANNON ANO

III. P S – F

  10

  4 TERHADAP CITRA

  11

  3

  1 Implementasi Shannon – Fano pada citra dapat dilakukan dengan cara mengambil nilai – nilai

  18

  2

  1 semua piksel dan membentuk simbol – simbol.

  Gambar : 3.4. Rekursif proses sebelumnya

  Pengambilan simbol secara sequential dilakukan Langkah 5 : tehadap semua nilai – nilai warna yang terdapat Melakukan menghitung nilai desimal dari code pada piksel. Berikut ini contoh implementasi pada binari. citra Grayscale ukuran resolusi 3 x 3 dpi [5].

  S F C Bit

  10

  11

  10

  10

  4

  2

  11

  18

  10

  11

  3

  1

  2

  10

  11

  18 Gambar 3.1. Contoh pixel 3 x 3 mode grayscale

  18

  2

  1

  1 Gambar 3.5. Menghitung jumlah bit Berikut ini langkah penyelesaian dalam pengolahan citra [4] : Langkah 1 :

  Langkah 6 : mengumpulkan simbol menjadi deretan angka sebagai berikut :

  S F Kode binari Bit F x B 10 11 10 11 18 10 10 11 18

  10

  4

  2

  8 langkah 2 :

  11

  3

  1

  2

  6 Membentuk tabel dengan menghitung frekwensinya dari simbol dan nilai frekwensi kemunculannya.

  18

  2

  1

  1

  2 Gambar 3.6. Perkalian Frekwensi dengan bit SIMBOL FREKWENSI

  10

  4 S F Kode binari Bit F x B

  11

  3

  10

  4

  2

  8

  18

  2 Gambar 3.2. Jumlah Frekwensi kemunculan

  11

  3

  1

  2

  6 Langkah 3 :

  18

  2

  1

  1

  2 menguraikan frekwensi kemunculan dalam binari Total F x B

  16 code

Gambar 3.7. Total Perkalian Frekwensi dengan bit

  SIMBOL FREKWENSI CODE Berdasarkan hitungan di atas, maka dapat ditentukan

  10

  4

  jumlah byte sebelum kompresi

  Total Frekwensi ( ) : 9 Byte

  11

  3 Total F x B : 16 Bit

  18

  2

  1 Rasio = (100% – 16 / 9 x 100%)

Gambar 3.3. Membagi dan memberikan kode binari

  Langkah 4 : = 22%

  Melakukan proses rekursif langkah 3 Berdasarkan hitungan di atas, maka ratio kompresinya sebesar 22%

  CODE

  S F

IV. KESIMPULAN DAN SARAN

  A. Kesimpulan

  Algoritma Shannon-Fano dapat digunakan pada teks dan citra digital yang berguna untuk memampatkan ukuran file teks maupun citra digital agar menghemat memori penyimpanan,

  B. Saran

  Pada penelitian selanjutnya, bisa dilakukan perbandingan rasio kompresi antara Shannon-Fano dan Huffman Code sehingga dapat dilihat algoritma kompresi mana yang lebih akurat dalam melakukan pemampatan file teks maupun citra.

DAFTAR PUSTAKA

  [1] Sutardi, “Implementasi dan Analisis Kinerja

  Algoritma Shannon-Fano untuk Kompresi File Text“, Dinamika, Jurnal Ilmiah Teknik

  Mesin, 2014 [2] Christine Lamorahan, Benny Pinontoan, Nelson

  Nainggolan, “Data Compression Using

  Shannon-Fano Algorithm” jDC, 2014

  [3] Muhammad Khoiruddin H, “Analisa Human

  Skin Detection Menggunakan HSV, Salt and Pepper Noise Reduction”, USU, 2016

  [4] Rismawati, Satria Gunawan Zain“Implementasi

  Kompresi Citra Menggunakan Algoritma Shannon-Fano”, Prosiding Nasional ISBN : 978-

  602-9075-25-7 [5] Maria Roslin Apriani Neta, “Perbandingan

  Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA ”, SEMANTIK 2013, 2013

  [6] Kadir, Abdul. “Teori Pengolahan Citra”, Yogyakarta : 2012.

Dokumen yang terkait

ANALISIS DANA PIHAK KETIGA PADA PERBANKAN SYARIAH DI INDONESIA PERIODE TRIWULAN I 2002 – TRIWULAN IV 2007

40 502 17

Analisis komparatif rasio finansial ditinjau dari aturan depkop dengan standar akuntansi Indonesia pada laporan keuanagn tahun 1999 pusat koperasi pegawai

15 355 84

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22

Diskriminasi Perempuan Muslim dalam Implementasi Civil Right Act 1964 di Amerika Serikat

3 55 15