Pertemuan 10 (Pengolah Citra)
PENGOLAH CITRA (PERTEMUAN 10)
REFERENSI TENTANG (Shannon Fano, Huffman, Run Lenght Encoding (RLE))
___________________________________________________________________________________
Nama : Akbar Riyaji
Nim : 17200237
Kelas : 17.5A.07
Matkul : Pengolah Citra (Pertemuan 10)
___________________________________________________________________________________
(1) IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON FANO UNTUK KOMPRESI FILE TEXT
Kompresi data dalam konteks ilmu komputer
merupakan ilmu dan seni yang menampilkan
informasi dalam bentuk yang pendek. Kompresi
data bertujuan untuk mengurangi jumlah bit yang
digunakan untuk menyimpan atau mengirim
informasi (Pu, 2006).
Metode kompresi dapat diklasifikasikan ke dalam
dua kelompok besar yaitu metode lossless dan
lossy. Metode lossless menghasilkan file kompresi
dengan ukuran yang lebih kecil dari file aslinya
sedangkan metode lossy menghasilkan file hasil
kompresi lebih kecil dari file semula dan rasio
kompresinya lebih tinggi daripada metode
sebelumya. Prinsip umum yang digunakan pada proses kompresi lossless adalah mengurangi
duplikasi data di dalamnya sehingga memori yang
dibutuhkan untuk merepresentasikannya menjadi
lebih sedikit daripada representasi semula,
sedangkan metode lossy dilakukan dengan
menghilangkan atau memodifikasi data sehingga
ukuran file menjadi lebih kecil tanpa merubah
representasi file secara visual (Anton, 2009).
File-text
File-text merupakan file yang berisi informasi
dalam bentuk text. Data yang berasal dari dokumen
pengolah kata, angka yang digunakan dalam
perhitungan, nama dan alamat dalam basis data
merupakan contoh masukan data text yang terdiri
dari karakter, angka dan tanda baca (Santi, 2010).
Masukan dan keluaran data text direpresentasikan
sebagai set karakter atau sistem kode yang dikenal
oleh sistem komputer. Ada tiga macam set karakter
yang umum digunakan untuk masukan dan
keluaran pada komputer, yaitu ASCII, EBCDIC,
dan Unicode. ASCII (American Code for
Information Interchange) merupakan suatu standar
internasional dalam kode huruf dan simbol seperti
Hexdan Unicode, tetapi ASCII lebih bersifat
universal. ASCII digunakan oleh komputer dan
alat komunikasi lain untuk menunjukkan text.
Kode ASCII memiliki komposisi bilangan biner
sebanyak 8 bit, dimulai dari 00000000 hingga
11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255
dalam sistem bilangan desimal (Wijaya dkk, 2010).
EBCDIC (Extended Binary Codec Decimal
Interchange Code) merupakan set karakter yang
diciptakan oleh komputer merk IBM. EBCDIC
terdiri dari 256 karakter yang masing-masing
berukuran 8 bit. Adanya keterbatasan pada kode
ASCII dan EBCDIC, dibuat standar kode
internasional baru yang merupakan kode 16 bit
yang disebut Unicode (Gozali, 2004). Unicode
adalah suatu standar industri yang dirancang untuk
mengizinkan text dan simbol dari semua sistem
tulisan di dunia untuk ditampilkan dan
dimanipulasi secara konsisten oleh komputer
(Sudewa, 2003).
Dekompresi
Sebuah data yang sudah dikompresi tentunya harus
dapat dikembalikan lagi kebentuk aslinya, prinsip
ini dinamakan dekompresi. Untuk dapat merubah
data yang terkompresi, diperlukan cara yang
berbeda seperti pada waktu proses kompresi
dilaksanakan.
Pada saat dekompresi catatan header yang berupa
byte-byte tersebut masih terdapat catatan isi
mengenai isi dari file tersebut (Gozali,2004).
Catatan header akan menuliskan kembali mengenai isi dari file tersebut. Hal ini
menyebabkan isi dari file sudah tertulis oleh
catatan header, sehingga hanya tinggal menuliskan
kembali pada saat proses dekompresi. Secara
umum proses kompresi dan dekompresi dapat
dilihat pada Gambar 1 (Gozali, 2004).
Algoritma Shannon-Fano
Kompresi data adalah proses pengubahan
serangkaian data input menjadi data output yang
mempunyai ukuran lebih kecil (Lidya, 2012).
Algoritma Shannon-Fano merupakan salah satu
algoritma kompresi yang sangat baik dalam
pengkompresian text. Pada prinsipnya algoritma ini
menggunakan pendekatan top-down dalam
penyusunan binary-tree. Metode ini sangat efisien
untuk mengkompresi file-text yang berukuran
besar (Martin, 2007)
Tahapan algoritma kompresi Shannon-Fano pada
data, diawali dengan menghitung frekuensi
kemunculan masing-masing huruf pada text dan
mengurutkan frekuensi kemunculan huruf dari
huruf yang terbesar ke yang terkecil, di mana
masing-masing huruf dapat direpresentasikan
sebagai sebuah node. Tahap selanjutnya adalah
menjumlahkan seluruh frekuensi kemunculan
huruf dan masukkan dalam sebuah node dan
membagi menjadi dua buah node dengan jumlah
frekuensi kemunculan huruf yang sama atau
hampir sama. Selanjutnya adalah pemberian label
pada setiap sisi pohon biner, sisi kiri dilabeli
dengan 0 dan sisi kanan dilabeli dengan 1.
Selanjutnya melakukan langkah sebelumnya
(iterasi), sampai node tidak dapat dibagi lagi dan
menelusuri pohon biner dari akar ke daun (Munir,
2004).
Kesimpulan
Penelitian ini telah menguji kompresi algoritma
Shannon-Fano, dengan dua kategori, yaitu file uji
dengan ukuran yang sama dan memiliki karakter
yang bervariasi dan file uji dengan ukuran yang
berbeda dan karakter yang bervariasi. Dari hasil
pengujian dapat disimpulkan bahwa file-text
dengan ukuran yang sama dan memiliki karakter
bervariasi akan menghasilkan tingkat pemampatan
file yang lebih rendah dibandingkan file text yang
memiliki karakter yang tidak terlalu bervariasi.
File-text dengan karakter yang bervariasi akan
menghasilkan pemampatan file yang rendah,
sedangkan file-text dengan karakter yang tidak
bervariasi memiliki tingkat pemampatan file yang
tinggi dengan ukuran file yang sama.
(2) ANALISA KODE HUFFMAN UNTUK KOMPRESI DATA TEKS
Huffman Algorithm adalah sa1ah satu algoritma kompresi tertua yang disusun oleh David
Huffman pada tahun 1952. Algoritrna tersebut digunakan untuk membuat kompresi jenis loss
compression, yaitu pemampatan data dimana tidak satu byte pun hilang sehingga data tersebut utuh dan
disimpan sesuai dengan aslinya. Prinsip kerja algoritma Huffman adalah mengkodekan setiap karakter
ke dalam representasi bit. Representasi bit untuk setiap karakter berbeda satu sama lain berdasarkan
frekuensi kemunculan karakter. Semakin sering karakter tersebut muncul, maka semakin pendek
panjang representasi bit nya. Sebaliknya bila semakin jarang frekuensi karakter muncul, maka
semakin panjang representasi bit untuk karakter tersebut Teknik kompresi algoritma Huffman
mampu memberikan penghematan pemakaian memori sampai 30%. Algoritma Huffman mempunyai
kompleksitas 0 (n log n) untuk himpunan dengan n karakter.
Huffman Tree
Kode Huffman digunakan secara luas dan sangat efektif untuk kompresi data.
Bisa menghemat 20% - 90% dari ukuran semula, tergantung tipe karakter yang akan
dikompresi. Algoritma huffman menggunakan tabel yang menyimpan frekuensi
kemunculan dari masing-masing simbol yang digunakan dalam file tersebut dan
kemudian mengkodekannya dalam.bentuk biner.
Pertama-tama buat tabel frekuensi dari semua simbol atau karakter yang
muncul dalam suatu file teks. Kemudian diurutkan mulai dari simbol dengan
frekuensi paling sedikit sampai simbol dengan frekuensi paling banyak.
Pembentukan Huffman tree dimulai dari dua simbol paling depan untuk dijadikan anak
kiri dan anak kanan dari tree yang terbentuk dan frekuensinya dijumlahkan. Setelah itu
langkah berikutnya diurutkan kembali berdasarkan frekuensi yang baru. Demikian
dilakukan terus menerus sampai semua simbol terbentuk menjadi tree.
Dengan algoritma di atas maka terbentuklah suatu tree yang menyimpan
simbol - simbol sedemikian rupa sehingga simbol dengan frekuensi kemunculan yang
paling banyak akan ditempatkan di kedalaman yang paling dangkal, sedangkan
simbol-simbol dengan frekuensi kemunculan yang paling sedikit akan ditempatkan di
kedalaman yang paling dalam. Setelah proses dari pembuatan atau pembentukan tree
selesai, maka tree siap digunakan untuk langkah selanjutnya yaitu membentuk kode.
Proses Updating
Selama proses encoding dan decoding, pohon sementara harus diperbaharui untuk
mendapatkan frekuensi simbol yang benar. Ketika karakter baru diketahui bobotnya,
bobot daun yang berasosiasi dengan karakter tersebut bertambah satu, dan bobot dari
simpul-simpul diatasnya dimodifikasi. Kebenaran pohon yang terbentuk dilihat dari
siblings property pohon tersebut.
Proses updating bekerja sebagai berikut:
1. Bobot dari daun n yang berkorespondensi dengan a ditambah 1
2. Jika siblings property-nya tidak sesuai lagi, maka simpul n ditukar dengan simpul
terdekat, m (m<n) sehingga bobot (m) < bobot (n).
3. Simpul-simpul tersusun menurun sesuai bobotnya.
Kesimpulan
Dari hasil ujicoba yang sudah dilakukan, maka dapat diambil kesimpulan
sebagai berikut:
1. Dari hasil pengujian yang dilakukan, algoritma huffman dapat melakukan
kompresi teks sekitar 70% jika dibandingkan dengan menggunakan kode ASCII
dan sekitar 25% jika dibandingkan dengan menggunakan 3 bit kode.
2. Kompresi file dengan algoritma Huffman tidak berhasil jika terdapat 256 jenis
dan masing-masing jenis mempunyai frekuensi kemunculan yang hampir sama
banyak.
3. Kompresi file juga kurang berhasil jika isi file terlalu sedikit sehingga ukuran
file asli bisa jadi lebih kecil dari file hasil kompresi karena file kompresi masih
harus menyimpan huffman tree-nya.
(3) PENGGUNAAN METODE RUN LENGHT ENCODING UNTUK KOMPRESIi DATA
Pengkodean data (data encoding) merupakan salah satu bidang yang sangat penting untuk diteliti [1].
Pada bidang pengenalan pola dan klasifikasi data, diperlukan adanya teknik encoding dan decoding untuk
kompres dan dekompresi data yang berhubungan dengan data-data multi-gigabit atau tera. Untuk
memproses dan memanipulasi kumpulan data yang besar, diperlukan beberapa operasi untuk
mentransfernya dari penyimpanan sekunder ke penyimpanan utama dan sebaliknya. Selain itu dalam
pengelompokan (clustering) dan klasifikasi data yang besar, terdapat beberapa hal penting seperti ukuran
data, angka pemindaian database, penyimpanan seluruh data, penyimpanan ringkasan informasi, dan lain-lain [2].
Banyak peneliti, termasuk komunitas basis data, telah mengusulkan untuk mengelompokkan data
menggunakan urutan dalam upaya meningkatkan rasio kompresi [3]. Selain itu kompresi data sangat
populer karena dua alasan, yaitu [4]; (1) masyarakat lebih suka menumpuk data dan tidak membuangnya.
Tidak peduli seberapa besar media penyimpanan yang dimilikinya, cepat atau lambat akan terjadi overflow
(meluap); (2) masyarakat kurang suka menunggu dalam waktu yang lama untuk memindahkan atau
transfer data. Misalnya ketika duduk di depan komputer untuk menunggu halaman website terbuka atau
men-download sebuah file. Kemudian beberapa faktor yang dijadikan pertimbangan dalam memilih
algoritma yang akan digunakan dalam kompresi data, yaitu [5]: (1) sumber daya yang dibutuhkan (memori,
kecepatan PC), (2) kecepatan kompresi, (3) ukuran hasil kompresi, (3) besarnya redudansi, (4) ketepatan
hasil dekompresi, dan (5) kompleksitas algoritma.
Metode kompresi pada data terbagi menjadi dua jenis metode yaitu lossless dan lossy compression [9].
Kompresi losless merupakan metode kompresi citra dimana hasil dekompresi dari citra yang terkompresi
sama dengan citra aslinya, setiap pikselnya tepat sama. Tidak ada informasi yang hilang akibat kompresi.
Rasio dengan kompresi lossless sangat rendah [12]. Salah satu contoh kompresi lossless adalah dengan
metode Run Length Encoding. Kompresi lossless cocok unuk kompresi citra yang mengandung informasi
penting yang tidak boleh rusak akibat dikompresi. Kompresi lossy merupakan metode kompresi citra
dimana hasil dekompresi dari citra yang terkompresi berbeda dengan citra aslinya karena ada informasi
yang hilang. Metode ini menghilangkan detail yang kurang penting, tetapi hasil dekompresi masih mewakili bentuk asli. Sehingga citra yang dihasilkan dengan kompresi lossy hampir mirip dengan citra
aslinya. Pada kompresi dengan metode lossy rasio kompresi yang dihasilkan lebih tinggi dibandingkan
metode lossless.
Run Length Encoding (RLE) merupakan salah satu jenis lossless yang paling sederhana dari skema
kompresi data dan didasarkan pada prinsip sederhana data encoding [3], [9], [12]. RLE sangat cocok
digunakan untuk mengompresi data yang berisi karakter-karakter berulang [13], [9] atau data berjalan
(yaitu: urutan dimana nilai data yang sama terjadi pada banyak elemen data yang berturut-turut) [12].
Penggunaan metode RLE sangat berguna untuk data yang berisi banyak data yang berjalan misalnya: citra
grafis sederhana seperti ikon, citra garis, dan animasi. Metode ini tidak berguna untuk file yang tidak
memiliki data berjalan karena sangat dapat meningkatkan ukuran file.
SIMPULAN DAN SARAN
Kompresi data menggunakan Run Length Encoding merupakan salah satu metode kompresi data yang
didasarkan pada penggantian urutan panjang karakter yang sama dengan urutan yang lebih pendek. Metode
ini sangat coock digunakan pada karakter atau string yang berulang, contohnya citra sederhana yang
memiliki beberapa warna piksel berurutan yang sama. RLE tidak cocok untuk data citra dengan intensitas
warna yang kompleks. Citra dengan banyak kemiripan warna akan menghasilkan rasio kompresi yang
semakin kecil. Untuk citra grayscale cenderung memiliki derajat keabuan berurutan yang sama daripada
citra RGB. Untuk citra yang memiliki banyak warna kontras ukuran citra hasil kompresi akan melebihi
ukuran citra asli atau memiliki rasio kompresi lebih besar dari 100%.
Untuk selanjutnya perlu dikembangkan suatu metode kompresi data yang merupakan pengembangan
dari metode RLE. Selain itu perlu dikembangkan suatu program RLE yang mendukung proses kompresi
data lain seperti file audio, MP3 atau jenis file lainnya.
Pendahuluan
Ukuran file yang semakin besar menuntut para pemakai komputer untuk mencari
berbagai macam cara agar dapat menyimpan sejumlah besar file dalam media penyimpanan
yang terbatas. Untuk itu, ukuran dari file harus dimampatkan agar ukurannya menjadi lebih kecil.
Teknik memampatkan data ini disebut dengan teknik kompresi data.
Dari berbagai macam algoritma kompresi data yang ada, penulis ingin membandingkan
keefektifan penggunaan algoritma Shannon Fano dan LZ78 pada data teks. Melalui penelitian
ini diharapkan dapat ditemukan kelebihan dan kekurangan dari masing-masing algoritma
tersebut di atas dalam mengkompresi data teks.
Penelitian ini akan dilakukan terhadap file teks berekstensi .txt dengan menggunakan
sistem yang dibuat. File teks akan dikompresi dengan menggunakan algoritma LZ78 dan
Shannon Fano untuk kemudian dibandingkan rasio kompresi dan kecepatan kompresi. File teks
yang telah dikompresi kemudian akan didekompresi untuk memastikan tidak ada data yang
hilang.
Algoritma Shannon Fano
Menurut Salomon (2007), kompresi data adalah proses pengubahan serangkaian data
input menjadi data output yang mempunyai ukuran lebih kecil. Algoritma Shannon Fano
ditemukan dan dikembangkan oleh Claude Shannon dan Robert Fano. Algoritma Shannon
Fano mengkodekan tiap karakter yang ada dalam serangkaian data input dengan
menggunakan rangkaian beberapa bit, di mana karakter yang sering muncul dikodekan dengan
rangkaian bit yang lebih pendek dibandingkan karakter yang jarang muncul.
Algoritma LZ78
LZ78 termasuk dalam algoritma yang menggunakan metode kamus. Algoritma ini
mengubah tiap karakter data input menjadi sebuah token menggunakan sebuah kamus. Kamus
terdiri dari 2 buah field. Field pertama digunakan sebagai index dari karakter, field kedua
digunakan untuk karakter.
Pengukuran Performa
Menurut Sayood (2006), sebuah algoritma kompresi dapat dievaluasi dengan berbagai
macam tolak ukur, antara lain:
• Kompleksitas algoritma
• Memori yang diperlukan untuk mengimplementasikan algoritma tersebut
• Kecepatan performa algoritma tersebut
• Banyaknya data yang dapat dikompresi
• Kemiripan data asli dengan data hasil rekonstruksi
Analisis Sistem
Pada penelitian ini, hasil yang akan dibandingkan meliputi waktu kompresi dan
dekompresi serta rasio kompresi. Pada saat proses pengujian, program akan berjalan sendiri
tanpa ada background program lain yang berjalan. Sedangkan yang menjadi objek uji coba dari
sistem yang dibuat adalah:
1. Canterbury Corpus, yaitu sekumpulan file teks yang sudah secara luas digunakan untuk
membandingkan algoritma kompresi data. Canterbury Corpus dikembangkan pada tahun 1977 sebagai versi baru dari Calgary Corpus. Dalam Canterbury Corpus terdapat 11 file seperti
terlihat dalam Tabel 1 berikut ini:
Kesimpulan
Kesimpulan yang dapat ditarik setelah dilakukan uji coba terhadap sistem yang dapat
melakukan proses kompresi dan dekompresi data dengan menggunakan algoritma Shannon
Fano dan LZ78 pada sejumlah data teks adalah:
• Untuk file teks yang memiliki jumlah jenis karakter yang lebih banyak dengan tingkat
pengulangan karakter yang lebih kecil, algoritma Shannon Fano memberikan rasio
kompresi yang lebih tinggi daripada algoritma LZ78.
• Untuk file teks yang memiliki jumlah jenis karakter yang lebih sedikit dengan tingkat
pengulangan karakter yang lebih tinggi, algoritma LZ78 memberikan rasio kompresi
yang lebih tinggi daripada algoritma Shannon Fano
• Algoritma Shannon Fano membutuhkan waktu kompresi dan dekompresi yang lebih
sedikit dibandingkan algoritma LZ78.
(5) PENERAPAN ALGORITMA HUFFMAN DAN SHANNON-FANO
DALAM PEMAMPATAN FILE TEKS
PENDAHULUAN
Pemampatan data (data compression)
merupakan suatu masalah dan menjadi salah satu
kajian di dalam ilmu komputer yang bertujuan untuk
mengurangi ukuran file sebelumnya untuk
menyimpan atau memindahkan data tersebut ke
dalam media penyimpanan (storage device). Media
penyimpanan seperti floppy disk, harddisk disimpan
pada media penyimpanan semakin bertambah dan
berukuran besar, maka media penyimpanan tidak
dapat menyimpan data tersebut karena melebihi
kapasitas. Untuk mengatasi masalah ini pemampatan
sangat dibutuhkan.
Metode pertama yang muncul untuk
pemampatan data adalah Shannon-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 kemunculan 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 nyang jarang muncul dikodekan
dengan kode yang lebih panjang. Algoritma Huffman
membangun pohon biner untuk menghasilkan kode
prefix (prefix code).
Algoritma Huffman
Menurut Darma Putra (2009:279), Prinsip
kode Huffman adalah karakter yang paling sering
muncul di dalam data dikodekan dengan kode yang
jumlah bitnya lebih sedikit, sedangkan karakter yang
jarang muncul dikodekan dengan kode yang jumlah
bitnya lebih panjang. Algoritma Huffman
menggunakan tabel frekuensi kemunculan karakter
untuk frekuensi dua buah pohon yang digabungkan.
Oleh karena itu, total cost pembentukan pohon
Huffman adalah jumlah seluruh penggabungan daundaun. Huffman memberikan sebuah algoritma untuk
membangun sebuah kode Huffman dengan masukan
string teksS={s1,s2,…,sn} dan frekuensi kemunculan
karakter F={f1, f2 ,…, fn}, dihasilkan keluaran berupa
kode string biner C={c1,c2,…,cn} atau disebut kode
Huffman.
Langkah-langkah Pemampatan Algoritma
Huffman:
1. Data dianalisis dahulu dengan cara membuat
tabel frekuensi kemunculan setiap symboll ASCII, tabel frekuensi tersebut memiliki atribut
berupa simbol ASCII dan frekuensi.
2. Dua data yang memiliki frekuensi kemunculan
paling kecil dipilih sebagai simpul pertama pada
pohon Huffman.
3. Dari dua simpul ini dibuat simpul induk yang
mencatat jumlah frekuensi dua simpul pertama.
4. Kemudian dua simpul tersebut dihapus dari
table digantikan oleh simpul induk tadi. Simpul
ini kemudian dijadikan acuan untuk membentuk
pohon.
5. Langkah 3-5 dilakukan berulang-ulang hingga
isi tabel tinggal satu saja, data inilah yang akan
menjadi simpul bebas atau simpul akar.
6. Setiap simpul yang terletak pada cabang kiri
(simpul dengan frekuensi lebih besar) diberi
nilai 0 dan simpul yang terletak pada cabang
kanan (simpul dengan frekuensi lebih kecil)
diberi nilai 1.
7. Pembacaan dilakukan dari simpul akar ke arah
simpul daun dengan memperhatikan nilai setiap cabang.
Pemampatan File Teks dengan Algoritma
Huffman
Untuk melakukan proses pemampatan file teks,
diberikan sebuah file teks dengan file text.txt yang
berukuran 356 bytes yang terdiri dari rangkaian string
dan terdiri dari 27 karakter menggunakan algoritma
Huffman sebagai berikut:
“Dalam penyimpanan data, file yang berukuran
besar juga membutuhkan ruang penyimpanan yang
besar. Agar file berukuran kecil dapat digunakan
pemampatan data, yaitu isi file dikodekan sesingkat
mungkin sehingga ruang penyimpanan yang
dibutuhkan sedikit. Pemampatan data dilakukan
dengan mengkodekan setiap karakter di dalam file
dengan kode yang lebih pendek.”
Masukan: 27 karakter yang telah diurutkan dan table
frekuensi
Keluran : kode Huffman dengan n kode
1. Pengurutan karakter berdasarkan frekuensi
kemunculanya.
Karakter-karakter diurutkan di dalam table secara
menarik (asscending order).
IMPLEMENTASI
Pada bab ini akan dilakukan implementasi dan
pengujian terhadap sistem yang baru. Tahapan ini
dilakukan setelah perancangan selesai dilakukan
dan selanjutnya akan diimplementasikan pada
bahasa pemrograman yang akan digunakan. Setelah
implementasi maka dilakukan pengujian sistem
yang baru dimana akan dilihat kekurangan - kekurangan pada aplikasi yang baru untuk
selanjutnya diadakan pengembangan sistem.
1. Tampilan Menu Utama
Saat pertama kali aplikasi penerapan file teks
dijalankan, maka akan tampil tombol Metode Huffman
dan Metode Shannon-Fano.
2. Tampilan Halaman Menu Utama
Pada halaman pertama terdapat beberapa menu atara
lain form untuk memampatkan file dengan Algoritma
Huffman dan Algoritma Shannon-Fano.
3. Tampilan Halaman Hasil Algoritma Huffman
Pada halaman ini merupakan hasil halaman Compress
dan Decompress Huffman
4. Tampilan Halaman Hasil Algoritma Shannon Fano
Pada halaman ini merupakan hasil halaman Compress
dan Decompress Shannon-Fano.
KESIMPULAN
Berdasarkan dari hasil penelitian yang telah
dilakukan, maka dapat disimpulkan yaitu:
1. Pada dasarnya pengolahan file teks melalui
operasi pemampatan dengan menggunakan
algoritma Huffman dan Shannon-Fano
mempunyai cara kerja yang sama. Dimulai
dengan pengurutan karakter berdasarkan
frekuensinya, pembentukan pohon biner dan
diakhiri dengan pembentukan kode. Pada
algoritma Huffman, pohon biner dibentuk dari
daun hingga akar dan disebut dengan
pembentukan pohon dari bawah ke atas.
Sebaliknya, pada Shannon-Fano pohon biner
dibentuk dari akar hingga daun dan disebut
dengan pembentukan pohon dari atas ke bawah.
2. Berdasarkan hasil analisa terhadap algoritma
Huffman dan Shannon-Fano dalam pemampatan
file teks yang baik adalah Shannon-Fano namun
tidak berarti algoritma Shannon-Fano adalah
algoritma yang baik untuk memampatkan file-file
lain.
DAFTAR PUSTAKA
(1) Anton. 2009, “Kompresi dan Teks”, Fakultas
Teknik Informatika, Univesitas Kristen Duta
Wacana,
http://lecturer.ukdw.ac.id/anton/download/mul
timedia6.pdf,diakses: 05 September 2013
Gozali FM.. 2004, “Analisis perbandingan
kompresi data dengan teknik arithmetic
coding dan run length encoding”,
TimDigitalStudio, Jakarta.
(2) Jonathan, Tommy, Pemampatan Data Dengan Algoritma Huffman, Surakarta,
FMIPA-UNS, 1996
Lewis R, Harry & Deneberg, Larry,Data Structure and Their Algorithm, Harper
Publisher, New York, 1991.
Madenda, Sarifudin, Kompresi Citra Gray-Level dengan Metode Block Coding,
Proceeding Workshop on ECI, ITB, 1999
Yuwono, Rudi, Penerapan Teknik Companding File Teks dengan Menggunakan
Algoritma Huffman, Proceeding Third Workshop on ECI, ITB, 1999
(3) T. Kathirvalavakumar and R. Palaniappan, “Modified run-length encoding method and distance algorithm to classify run length encoded binary data,” Springer-Verlag Berlin Heidelberg 2011, P. Balasubramaniam (Ed.): ICLICC 2011, CCIS 140,
pp. 271–280, 2011.
T. R. Babu, M. N. Murty, V.K. Agrawal, “Classification of run-length encoded binary data,” Pattern Recognition Society 40
(2007) 321-323, Elsevier, 2006.
(4) Bell, T.C., Whitten, I., Cleary, J. (1990). Text Compression. New Jersey: Prentice Hall,
Inc.
Kurniawan, B., Neward, T. (2002). VB.NET Core Classes In A Nutshell. Cambridge:
O’Reilly Media, Inc.
Nelson, M. (1996). The Data Compression Book 2nd Ed. New York: M & T Books.
Rickyanto, I. (2003). Membuat Aplikasi Windows dengan Visual Basic.NET. Jakarta: PT
Elex Media Komputindo.
(5) Abdul Kadir dan Terra Ch. Triwahyuni 2013. ”Pengantar
Teknologi Informasi” :Dasar Sistem Komputer. Yogyakarta
: Andi Offset.
Abdul Kadir 2013.Pengenalan Algoritma :Flowchart.
Yogyalarta : Andi Offset.
Rahmat Pryanto 2009. Langsung Bisa Visual Basic.NET
2008: Pendahuluan. Yogyakarta Andi Offset.
Rosa AS – M Shalahuddin 2011. Rekayasa Perangkat
Lunak.: “Pemodelan Dan UML”.Bandung 2011
Darma Putra 2010. Pengolahan Citra Digital .: “Kompresi
Data Citra” Yogyakarta :Andi Offset










Komentar
Posting Komentar