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. 

(4) IMPLEMENTASI DAN ANALISIS PERBANDINGAN ANTARA PENGKODEAN LZ78 DAN SHANNON FANO PADA KOMPRESI DATA TEKS

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

Postingan populer dari blog ini

PERTEMUAN 11, REFERENSI TENTANG CITRA BERWARNA

PERTEMUAN 5, RESUME TOPOLOGI JARINGAN KOMPUTER BESERTA KELEBIHAN & KEKURANGAN