BAB 2 TINJAUAN PUSTAKA

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB 2 TINJAUAN PUSTAKA"

Transkripsi

1 BAB 2 TINJAUAN PUSTAKA 2. Data Data adalah keterangan yang benar dan nyata atau dengan kata lain adalah catatan atas kumpulan fakta yang mendeskripsikan simbol, grafik, gambar, kata, angka, huruf, objek ataupun kondisi. Data merupakan bentuk jamak dari datum, berasal dari bahasa latin yang artinya sesuatu yang diberikan. Data terkadang dipandang sebagai bentuk terendah dari informasi (Vardiansyah, D., 28). Istilah data dan file silih berganti digunakan ataupun secara bersama-sama. File adalah pengarsipan dalam suatu media yang terdiri dari kumpulan karakter dan didokumentasikan dalam bentuk digital pada komputer. Sehingga, sering sekali istilah file ataupun data silih berganti digunakan untuk mengacu pada objek yang sama. Penggunaan istilah data teks atau file teks sama-sama mengacu kepada objek yang sama, perbedaan pengertian antara keduanya tersebut tidak begitu jelas. Namun, istilah data biasanya digunakan untuk mendeskripsikan apa yang menjadi isi suatu file. Berbagai jenis data antara lain: data gambar, data teks, data suara, dll. Di dalam ilmu komputer penggunaan istilah tipe data juga digunakan. Merupakan penjelasan bagaimana data disimpan ataupun diolah oleh komputer. Tipe data sederhana melingkupi integer, real, boolean, character. Tipe data sederhana majemuk melingkupi string. Struktur data melingkupi array dan record. Struktur data majemuk melingkupi stack, queque, list, multilist, pohon biner dan graph (Wahyudi, B., 24). Pemakaian tipe data yang sesuai di dalam proses pemrograman akan menghasilkan algoritma yang jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.

2 2.2 Kompresi Data Teori Informasi adalah cabang ilmu matematika yang melibatkan penghitungan informasi, memperlihatkan bagaimana cara untuk mengukur informasi. Sebuah penelitian yang dipublikasikan tahun 948 oleh Claude E. Shannon dengan judul A mathematical theory of communication menjadi asal mula lahirnya Teori Informasi. Sedangkan teori kompresi mengacu kepada Teori Informasi sebagai landasan dasar teori. Solomon, D. (27, hal: 2) mengemukakan definisi kompresi data adalah proses yang mengkonversi sebuah masukan berupa aliran data (the source atau data asli mentah) menjadi suatu aliran data lain (the output, aliran bit, atau aliran sudah dikompres) yang memiliki ukuran lebih kecil. Aliran data (stream) dapat berupa sebuah file atau buffer pada memori. Data dalam konteks kompresi data melingkupi segala bentuk digital dari informasi, yang dapat diproses oleh sebuah program komputer. Bentuk dari informasi tersebut secara luas dapat diklasifikasikan sebagai teks, suara, gambar dan video Konsep Kompresi data memungkinkan sebuah data dengan suatu metode dapat direpresentasikan ke dalam bentuk yang memiliki bit-bit (satuan terkecil pembentuk data) lebih kecil, dikenal dengan istilah encoding. Sebaliknya, dekompresi data juga memungkinkan wujud representasi tersebut dikembalikan ke wujud semula, dikenal dengan istilah decoding. Bagian algoritma yang melakukan encoding dinamakan encoder dan yang melakukan decoding dinamakan decoder. Suatu algoritma kompresi memiliki fungsi encoding dan decoding sekaligus. Namun pada implementasinya, implementor-lah yang menentukan bagian encoder ataukah decoder yang menentukan aksi encoding atau decoding yang dipilih dan diterapkan terhadap suatu data.

3 Input Original Data/File Kompresi Output Coded Data/File Input Coded Data/File Dekompresi Output Original Data/File Gambar 2. Proses encoding dan decoding (Pu, I. M., 26) Konsep utama dalam kompresi terletak pada eliminasi redudansi. Hal ini secara tidak sadar dimanfaatkan dalam kehidupan sehari-hari, contohnya adalah penggunaan singkatan dalam tulisan. Kita sudah tidak asing dengan penggunaan & sebagai pengganti kata dan, yg sebagai pengganti kata yang dan cth sebagai pengganti kata contoh. Permasalahan dalam kompresi data adalah bagaimana menemukan metode yang efisien untuk menghilangkan redundansi dari berbagai tipe data serta metode untuk membentuk kembali wujud semula. Misal S = (s, s 2,, s n ) adalah himpunan alfabet dari data/file. Representasi digital dari simbol-simbol himpunan tersebut dinamakan code C = (c, c 2,, c n ) dan setiap simbol tersebut dinamakan codeword. Bentuk representasi dasar dari data adalah American Standard Code for Information Interchange (ASCII) terdiri atas sebuah himpunan yang memiliki panjang tetap (fixed length) untuk setiap codeword (yaitu 8 bit). Dalam kompresi data, setiap panjang dari codeword tersebut diubah dengan panjang yang tidak tetap (variable length). Tabel 2. Perbandingan kode fixed length dengan variable length Representasi Simbol Kode ASCII (fixed length) Jumlah bit Prefix Code (variable length) Jumlah bit A 8 B 8 3 C 8 3 D 8 3 E 8 3

4 2.2.2 Klasifikasi Algoritma Kompresi Dalam kompresi data, tidak ada algoritma yang cocok untuk semua jenis data. Hal ini disebabkan karakteristik dan pola susunan tiap data berbeda-beda. Berbagai model matematika dalam menemukan redundansi dalam data tertentu menyebabkan munculnya aneka ragam algoritma kompresi data. Terdapat dua golongan besar pada teknik (algoritma) kompresi ketika berhadapan dengan kemungkinan dalam merekonstruksi kembali data yang telah dikompres menjadi data original, yaitu kompresi Lossless dan Lossy. a. Kompresi Lossless Algoritma kompresi tergolong lossless jika memungkinkan data yang sudah dikompres dapat direkonstruksi kembali persis sesuai dengan data original. Teknik ini menjamin tidak ada kehilangan sedikitpun detil atau kerusakan pada data. Contoh data yang cocok adalah gambar medis, teks, program, spreadsheet dan lain-lain. Adapun beberapa algoritma yang tergolong dalam jenis ini adalah algoritma Deflate, Run Length Coding, Huffman, LZW, dan Arithmetic Coding. Algoritma AABBBA Kompresi Algoritma Dekompresi AABBBA Gambar 2.2 Algoritma kompresi Lossless (Pu, I. M., 26) b. Kompresi Lossy Algoritma kompresi tergolong lossy jika tidak memungkinkan data yang sudah dikompres dapat direkonstuksi kembali persis sesuai dengan data original. Kehilangan detil-detil yang tidak berarti dapat diterima pada waktu proses kompresi. Hal ini memanfaatkan keterbatasan panca indera manusia. Maka, sebuah perkiraan yang mendekati keadaan original dalam membangun kembali data merupakan hal yang diperlukan untuk mencapai keefektifan kompresi.

5 Contoh data yang cocok adalah gambar, suara dan video. Adapun beberapa algoritma yang tergolong dalam jenis ini adalah algoritma Wavelet Compression, CELP, JPEG, MPEG- dan WMA. Algoritma Kompresi Algoritma Dekompresi 3.4 Gambar 2.3 Algoritma kompresi Lossy (Pu, I. M., 26) Kompresi Lossless umumnya diimplementasikan menggunakan salah satu dari dua jenis pemodelan yang berbeda, yaitu berdasarkan statistik atau dictionary. Basis statistik menciptakan himpunan codeword baru untuk tiap-tiap simbol berdasarkan probabilitas kemunculan simbol. Basis dictionary menggunakan suatu pengkodean sebagai pengganti dari sekumpulan simbol (Nelson, M. et al, 996). a. Algoritma kompresi berbasis statistik Algoritma kompresi berbasis statistik, atau disebut juga berbasis Entropy, umumnya memiliki konsep memberikan panjang codeword lebih pendek kepada simbol dengan probabilitas kemunculan yang lebih tinggi. Hal sebaliknya berlaku kepada simbol dengan probabilitas kemunculan yang lebih rendah. Contoh algoritma kompresi berbasis statistik adalah Algoritma Huffman, Adaptive Huffman, Shannon Fano, Arithmetic dan lain-lain. b. Algoritma kompresi berbasis dictionary Algoritma kompresi berbasis dictionary umumnya membandingkan pola bagian data yang akan diproses dengan bagian data yang sudah diproses sebelumnya. Kemudian menggunakan kode sebagai tanda pengenal yang merujuk kepada pola perulangan. Contoh algoritma kompresi berbasis dictionary adalah algoritma varian Lempel-Ziv (LZ), Deflate dan lain-lain.

6 Algoritma Deflate adalah algoritma kompresi jenis lossless dengan basis gabungan antara dictionary dan statistik. Hal ini disebabkan algoritma Deflate itu sendiri adalah kombinasi antara algoritma LZ77 dan Huffman. Mengambil kelebihan dari masing-masing metode, sliding-window pada metode LZ77 dan prefix-tree yang dimiliki metode Huffman menjadikan performa algoritma Deflate layak dibandingkan dengan berbagai metode kompresi terbaik (Deutsch, L. P. 996a). 2.3 Algoritma LZ77 Penelitian pada kompresi data hingga tahun 977 berkonsentrasi kepada cara-cara mengembangan metode Huffman. Segalanya berubah pada tahun tersebut. Publikasi A Universal Algorithm for Sequential Data Compression oleh Jacob Ziv dan Abraham Lempel mengemukakan metode baru, yaitu metode berbasis dictionary. Teknik kompresi yang dikembangkan dalam dokumen tersebut bernama Lempel-Ziv 77 (LZ77). Algoritma LZ77 adalah teknik sliding window dimana menggunakan teks yang dilihat sebelumnya sebagai dictionary terhadap teks yang akan diproses (Nelson, M. et al, 996). Algoritma ini menetapkan sebuah jendela (window). Rangkaian input (masukan) akan bergerak dari arah kanan ke kiri pada jendela. Atau dengan sudut pandang lain, jendela ini bergerak dari arah kiri ke kanan terhadap teks. Jendela tersebut dibagi atas dua bagian. Bagian sebelah kiri dinamakan search buffer, sebagai dictionary yang berisi rangkaian simbol yang sudah diproses. Bagian sebelah kanan dinamakan look-ahead buffer, berisi rangkaian simbol sebagai input yang akan diproses. Ukuran dari masing-masing buffer dalam implementasi boleh jadi bervariasi. Memperluas area pencarian (search buffer) memungkinkan algoritma mencari rangkaian simbol terpanjang yang sesuai dengan masukan (look-ahead buffer). Memperluas area masukan berarti memungkinkan panjang rangkaian simbol yang mungkin sesuai semakin besar. Namun, umumnya search buffer berukuran 2-8 Kbytes dan look-ahead buffer berukuran 8-32 bytes.

7 ...upakan input input deflate dalam input proses deflating dan inflatin... Rangkaian simbol search buffer look-ahead buffer yang akan dibaca Sliding Window Gambar 2.4 Sliding Window (Salomon, D, 27) 2.3. Encoder Encoder melakukan pembacaan pada search buffer dari arah kanan ke kiri. Mencari simbol yang sesuai dengan simbol pertama pada look-ahead buffer, yaitu i pada gambar 2.4. Simbol pertama dijumpai pada jarak 2 simbol dari ujung search buffer (offset). Encoder kemudian berusaha mencocokkan rangkaian simbol. Di sini panjang rangkaian (length) yang sesuai adalah 6 ( input ). Pencarian berlanjut terus menerus hingga search buffer semuanya berhasil ditelusuri. Simbol kedua dijumpai pada offset 26 dengan panjang rangkaian (length) yang sesuai adalah 6 ( input ). Oleh karena penelururan telah selesai, encoder mencari nilai length terbesar dan offset terkecil. Simbol p dicatat sebagai code, yaitu simbol pertama yang tepat berada disebelah kanan rangkaian simbol yang sesuai ( input ) di look-ahead buffer. Encoder kemudian menghasilkan token (2, 6, p). Proses kemudian kembali berulang dengan menggeser sliding window sebanyak length+ simbol terhadap teks. Maka, search buffer akan berisi nput deflate dalam input p dan look-ahead buffer berisi roses deflat. Jika dalam pencarian tidak terdapat simbol yang sesuai atau jika simbol yang sesuai hanya, maka dihasilkan token (,, code). amadi menanggapi amanamanat presiden Rangkaian simbol yang akan dibaca Gambar 2.5 Cara Kerja Algoritma Encoder LZ77 Terdapat suatu keunikan dalam menghasilkan token, kemampuan untuk seakan-akan memakai sebagian dari look-ahead buffer sebagai search buffer. Pada gambar 2.5, token yang dihasilkan seharusnya (4, 4, a). Ternyata encoder

8 menghasilkan token (4, 5, t). Dengan ukuran length 5 berarti secara paksa melewati batas pemisah jendela. Jika didapati dictionary aman dengan token (4, 5, t) akan menghasilkan rangkaian amanat. Hal ini dilakukan untuk efektifitas kompresi. Teknik ini sangat berguna bila didapati pengulangan yang tergolong cukup banyak. Contoh, dictionary A dengan token (,, R) akan menghasilkan rangkaian AAAAAAAAAAR. Perlu diperhatikan, bahwa nilai length mempunyai batas maksimum panjang look-ahead buffer, atau L-. Ini dapat kita pahami dengan memperhatikan bentuk susunan sebuah token (f, l, c). Keberadaan code c tentunya mengurangi kemungkinan panjang rangkaian simbol yang sesuai dari look-ahead buffer simbol. Tabel 2.2 Algoritma Encoder LZ77 (Pu, I. M, 26) Baris Pseudo code p ; 2 While not EOF do Temukan rangkaian yang cocok terpanjang sebanyak l bytes dari look-ahead buffer S[p...L-] di 3 search buffer S[p-B...(p-)] dimana karakter yang cocok pertama adalah S[m]; 4 Output token (p-m, l, S[p+l]); 5 p p + l + ; 6 End While; Keterangan:. S[..n] sebagai Source Input. 2. Rangkaian token (f, l, c) sebagai Output. 3. p adalah posisi pointer yang menunjuk pada awal look-ahead buffer. 4. L adalah panjang look-ahead buffer. 5. B adalah panjang search buffer. 6. l adalah panjang rangkaian simbol yang cocok. 7. m adalah posisi yang menunjuk pada karakter pertama yang cocok pada Source Input. 8. EOF adalah singkatan dari End of File, merupakan tanda akhir isi source input.

9 2.3.2 Decoder Decoder memiliki buffer dengan ukuran yang sama dengan Encoder, dimana hanya memiliki jendela Dictionary. Decoder bekerja membaca rangkaian token. Jika token merupakan representasi rangkaian simbol sepanjang l, maka Decoder akan membaca posisi offset f dan menulis sebanyak l simbol ke output. Jika token merupakan representasi simbol ASCII-token (,, c), maka Decoder akan menulis simbol c tersebut ke output. dral. dral. A dral. Apabi dral. Apabila ama () (2) (3) (4) Apabila amadi menanggapi (,, ) pabila amadi menanggapi (7, 3, n) la amadi menanggapi aman (4, 5, t) di menanggapi amanamanat (,, ) Gambar 2.6 Cara Kerja Algoritma Decoder LZ77 Gambar 2.6 menjelaskan bagaimana menerjemahkan token-token menjadi output. Token (,, ) menghasilkan (spasi), dimana hasil output masih berada dalam jendela dictionary. Isi dari jendela dictionary digeser sebanyak nilai offset +, atau f +. Operasi tersebut menghasilkan bentuk sesuai poin 2 Gambar 2.6. Token (4, 5, t) menghasilkan amanat dimana jika diperhatikan nilai length lebih besar dari nilai offset. Bagaimana Decoder mampu menerjemahkan token ini adalah terletak pada detil cara kerjanya. Decoder tidak bekerja dengan menyalin secara langsung keseluruhan l simbol dari offset ke output, namun bekerja menerjemahkan satu simbol demi satu simbol. Tabel 2.3 Algoritma Decoder LZ77 (Pu, I. M, 26) Baris Pseudo code p ; 2 While not EOF do 3 Baca token berikutnya; 4 S[p...(p+l-) S[(p-f)...(p-f+l-)]; 5 S[p+l] c; 6 p p + l + ; 7 End While;

10 Keterangan:. Rangkaian token (f, l, c) sebagai Input. 2. S[..n] sebagai Source Output. 3. p adalah posisi pointer yang menunjuk pada awal Dictionary. 4. l adalah panjang rangkaian simbol yang cocok. 5. f adalah offset, posisi yang menunjuk karakter pertama dari sisi kanan Dictionary. 2.4 Algoritma Huffman Semenjak penelitian David A. Huffman A Method for the Construction of Minimum Redundancy Codes dipublikasikan tahun 952, metode yang dikembangkannya menjadi konsentrasi banyak penelitian dalam jumlah yang besar. Teknik kompresi yang dikembangkan dalam dokumen tersebut bernama Huffman dan berbasis statistik. Algoritma Huffman adalah teknik prefix-tree dimana menggunakan sebuah pohon biner guna menghasilkan kode pengganti yang optimal bagi simbol-simbol dengan probabilitas kemunculan yang lebih tinggi (Sayood, K, 23). Letak keberhasilan kompresi dengan metode ini adalah menerapkan variable length gantinya fixed length. Misal pada representasi ASCII, sebuah karakter disimpan dengan ukuran seragam 8 bit. Dengan menerapkan variable length, maka simbol yang memiliki probabilitas kemunculan yang lebih tinggi diberi codeword dengan ukuran lebih kecil. Untuk mencapai maksud tersebut, algoritma ini mengkonstruksi pohon biner yang dinamakan prefix-tree atau pohon Huffman. Dinamakan demikian oleh karena tidak ada codeword yang dihasilkan merupakan awalan dari codeword lainnya. Hal itu menjamin keunikan dari masing-masing kode sehingga proses dekompresi tidak ambigu. Algoritma huffman akan menggunakan prefix-tree dalam melakukan pembentukan kode-kode huffman. Kode inilah yang akan menggantikan setiap byte pada data. prefix-tree ini jugalah yang akan digunakan untuk menerjemahkan kembali byte data semula.

11 2.4. Encoder Dalam proses kompresi, Encoder terlebih dahulu membaca keseluruhan source input, membentuk tabel frekwensi, menciptakan pohon huffman dan kemudian memperoleh kode huffman untuk tiap simbol. Kode huffman tersebut digunakan dalam melakukan proses encoding terhadap source input. Dalam pembentukan pohon huffman, sebuah daftar atau tabel simbol dibentuk dan diurutkan berdasarkan nilai probabilitas kemunculannya. Daftar tersebut dinamakan ordered list. Simbol-simbol dalam daftar berulang kali dikombinasikan dengan simbol ataupun subtree lainnya, 2 simbol atau node dikombinasikan untuk membentuk sebuah node baru yang merupakan sebuah subtree. Pohon akan berkembang setiap kombinasi terjadi sampai akhirnya menghasilkan root. Perulangan dalam pembentukan pohon Huffman:. Kombinasikan 2 simbol terakhir pada daftar (probabilitas kemunculan terendah) dan diganti dengan simbol representasi pengganti. 2. Simbol representasi pengganti yang menggambarkan sebuah subtree, ditempatkan berdasarkan nilai gabungan dari probabilitas kemunculan kedua simbol. Beberapa aturan pembentukan pohon Huffman:. Simbol asli berada pada daun. 2. Node adalah hasil kombinasi, apakah menggunakan simbol asli atau simbol representasi pengganti atau keduanya. 3. Node diberi bobot dengan nilai penjumlahan nilai probabilitas kemunculan kedua cabangnya. 4. Node boleh diberi simbol representasi pengganti kombinasi dari simbol cabang. 5. Cabang sebelah kiri diberi bobot dengan nilai dan sebelah kanan. 6. Simbol representasi pengganti yang baru diurutkan dalam daftar dengan posisi teratas jika didapati nilai probabilitas kemunculan yang sama. 7. Representasi pengganti gabungan terakhir pada daftar dianggap sebagai root.

12 Andaikata sebuah string JIKA DIA AKUI DIRINYA sebagai source input, algoritma Huffman pertama sekali melakukan penghitungan untuk tiap simbol-simbol yang ada. Dimulai dari simbol pertama yaitu J, bergerak secara sekuensial ke indeks berikutnya, yaitu I. Setiap ditemukan simbol baru yang tidak ada pada daftar, maka simbol tersebut akan ditambahkan dengan memberikan nilai probabilitas awal. Sebaliknya, jika ditemukan simbol yang sudah ada pada daftar, nilai probabilitasnya cukup ditambah. Setelah mencapai indeks terakhir, tabel 2.4 adalah tabel frekwensi dan ordered list yang dihasilkan. Tabel 2.4 Daftar Simbol Dan Probabilitas Simbol Dan Probabilitas Awal Simbol Dan Probabilitas Yang Diurutkan J I 5 I 5 A 4 K 2 _ (spasi) 3 A 4 K 2 _ (spasi) 3 D 2 D 2 J U U R R N N Y Y Penggabungan pertama sekali dilakukan pada simbol N dan Y dengan simbol representasi baru (NY), kedua pada simbol U dan R dengan simbol representasi baru (UR) dan ketiga pada simbol D dan J dengan simbol representasi baru (DJ). Hasil penggabungan tersebut tampak pada gambar 2.7 dan keadaan Ordered List tahap demi tahap tampak pada tabel 2.5. I 5 A 3 _ D J U R N Y 2 Gambar 2.7 Pembentukan Pohon Huffman Tahap, 2 dan 3

13 Tabel 2.5 Ordered List Awal, Tahap, Tahap 2 dan Tahap 3 Ordered List Awal Ordered List Tahap Ordered List Tahap 2 Ordered List Tahap 3 I 5 I 5 I 5 I 5 A 4 A 4 A 4 A 4 _ 3 _ 3 _ 3 (DJ) 3 K 2 (NY) 2 (UR) 2 _ 3 D 2 K 2 (NY) 2 (UR) 2 J D 2 K 2 (NY) 2 U J D 2 K 2 R U J N R Y Penggabungan keempat dilakukan pada simbol (NY) dan K dengan simbol representasi baru ((NY)K), kelima pada simbol _ dan (UR) dengan simbol representasi baru (_(UR)) dan keenam pada simbol A dan (DJ) dengan simbol representasi baru (A(DJ)). Hasil penggabungan tersebut tampak pada gambar 2.8 dan keadaan Ordered List tahap demi tahap tampak pada tabel I 5 4 A 4 3 _ K 2 D J 2 U R N Y Gambar 2.8 Pembentukan Pohon Huffman Tahap 4, 5 dan 6 Tabel 2.6 Ordered List Tahap 4, Tahap 5 dan Tahap 6 Ordered List Tahap 4 Ordered List Tahap 5 Ordered List Tahap 6 I 5 (_(UR)) 5 (A(DJ)) 7 ((NY)K) 4 I 5 (_(UR)) 5 A 4 ((NY)K) 4 I 5 (DJ) 3 A 4 ((NY)K) 4 _ 3 (DJ) 3 (UR) 2

14 Penggabungan ketujuh dilakukan pada simbol I dan ((NY)K) dengan simbol representasi baru (I((NY)K)), kedelapan dilakukan pada simbol (A(DJ)) dan (_(UR)) dengan simbol representasi baru ((A(DJ))(_(UR))). Hasil penggabungan tersebut tampak pada gambar 2.9 dan keadaan Ordered List tahap demi tahap tampak pada tabel I 5 4 A _ 2 2 K 2 D J U R N Y 2 Gambar 2.9 Pembentukan Pohon Huffman Tahap 7 dan 8 Tabel 2.7 Ordered List Tahap 7 dan Tahap 8 Ordered List Tahap 7 Ordered List Tahap 8 (I((NY)K) 9 ((A(DJ)) (_(UR))) 2 (A(DJ)) 7 (I((NY)K) 9 (_(UR)) 5 Setelah mencapai tahap 8, pada Ordered List hanya didapati 2 simbol, yaitu ((A(DJ)) (_(UR))) dan (I((NY)K)). Penggabungan terhadap 2 simbol itu kemudian dilakukan dan menyisakan hanya simbol pada daftar yang terbaru. Ketika Encoder membaca dan mendapati hanya satu simbol yang berada pada daftar, yaitu representasi simbol (((A(DJ)) (_(UR)))(I((NY)K))), maka proses pembentukan pohon Huffman selesai. Hasil akhir tampak pada gambar 2..

15 I 5 4 A _ 2 2 K 2 D J U R N Y 2 Gambar 2. Prefix-tree Kode huffman didapati dengan menelusuri pohon huffman yang terbentuk. Cabang sebelah kiri diberi bobot dan cabang sebelah kanan diberi bobot. Dimulai dari root hingga mencapai daun, rangkaian bobot cabang dan yang dilewati merupakan kode huffman bagi simbol atau daun yang dituju. Dengan menggunakan representasi ASCII, string JIKA DIA AKUI DIRINYA akan memerlukan penyimpanan sebesar 2 * 8 bit = 68 bit. Dengan menggunakan representasi kode Huffman, string tersebut berhasil dikompresi menjadi yang memerlukan penyimpanan sebesar 65 bit. Tabel 2.8 Kode Huffman Simbol Kode Jumlah bit Simbol Kode Jumlah bit Huffman Huffman A 3 R 4 D 4 I 2 J 4 N 4 _ (spasi) 3 Y 3 U 4 K 3

16 Tabel 2.9 Algoritma Encoder Huffman (Pu, I. M, 26) Baris Pseudo code Deklarasi list yang berisi daftar simbol/tree (t, t 2,..., t n ) dengan bobot (w, w 2,..., w n ) berturut-turut; 2 for k = ; k < n; k + do Ambil 2 tree terbawah t i dan t j, w i w j {bobot 3 terkecil}; 4 t merge(t i, t j ); 5 w w i + w j ; 6 left_child(t) t i dan right_child(t) t j ; 7 edge(t, t i ) ; edge(t, t j ) ; 9 end for; Output codeword dengan menelururi dari root ke daun; Keterangan:. Pembacaan source input dari awal hingga akhir menghasilkan daftar simbol sebanyak n buah(t, t 2,..., t n )beserta probabilitas kemunculan untuk tiap simbol itu (w, w 2,..., w n ). 2. Codeword yang dihasilkan adalah kode Huffman. Digunakan untuk mengkompresi source input Decoder Decoder bekerja dengan membaca bit demi bit dan menggunakannya dalam menelusuri pohon Huffman hingga menemukan simbol. Dimulai dari root kita menelusuri cabang yang ada di bawah berdasarkan nilai bit. Jika bit yang sedang dibaca adalah, maka akan dipilih cabang sebelah kiri (left_child). Sebaliknya, bit akan menelusuri cabang sebelah kanan (right_child). Setiap node yang ditelusuri akan diperiksa, apakah sudah mencapai ujung dari pohon tersebut. Jika benar, proses pembacaan simbol selesai. Simbol yang berada di ujung pohon tersebut akan diproses sebagai output. Decoder kemudian melanjutkan pemembacaan bit demi bit

17 berikutnya dan mengulang langkah-langkah penelusuran pohon Huffman. Proses dekompresi akan berakhir jika didapati tanda EOF. Dengan menggunakan pohon Huffman pada gambar 2., penerjemahan rangkaian bit digambarkan dalam langkah-langkah berikut:. Dimulai dari root. 2. Baca bit, berpindah ke cabang kiri. Node bukan ujung pohon. 3. Baca bit, berpindah ke cabang kanan. Node bukan ujung pohon. 4. Baca bit, berpindah ke cabang kanan. Node bukan ujung pohon. 5. Baca bit, berpindah ke cabang kanan. Node adalah ujung pohon dengan output simbol R. 6. Dimulai dari root. 7. Baca bit, berpindah ke cabang kanan. Node bukan ujung pohon. 8. Baca bit, berpindah ke cabang kiri. Node adalah ujung pohon dengan output simbol I. Tabel 2. Algoritma Decoder Huffman (Pu, I. M, 26) Baris Pseudo code p root; 2 while not EOF 3 Baca bit berikutnya b; 4 if b = then 5 p left_child(p); 6 Else 7 p right_child(p); 8 end if; 9 if p = daun then {ujung pohon, leave) Output: p; p root; 2 end if; 3 end while; Keterangan:. Source input berbentuk binary. 2. Source output berbentuk simbol original.

18 2.5 Spesifikasi Algoritma Deflate Algoritma Deflate adalah algoritma yang dikembangkan oleh Phil Katz. Algoritma tersebut masih dalam bentuk spesifikasi yang kemudian oleh L. Peter Deutsch dituangkan dalam publikasi dengan judul DEFLATE Compressed Data Format Specification. Algoritma ini dirancang berdasarkan algoritma LZ77 yang dikombinasikan dengan algoritma Huffman. Data yang sudah dikompres dengan algoritma ini terdiri dari rangkaian blok. Ukuran dari blok tersebut tidak tetap, kecuali blok yang berisi data tidak dikompres dibatasi dengan ukuran bytes. Blok-blok tersebut dikompres menggunakan kombinasi algoritma LZ77 dan Huffman. Dalam mencari rangkaian simbol yang sesuai (metode LZ77), algoritma Deflate memiliki kemampuan untuk melakukan pencarian secondary. Hal ini bertujuan untuk mengoptimalkan length rangkaian simbol yang sesuai., sapudika dapu membeli sapu merah Gambar 2. Secondary Search Rangkaian simbol yang akan dibaca Dengan melihat gambar 2., length rangkaian simbol yang sesuai bernilai 4. Namun, encoder akan menunda pemrosesan lebih lanjut dan melakukan secondary search dengan karakter kedua pada lookahead buffer sebagai awal rangkaian simbol yang akan dicocokkan. Ternyata length baru yang didapat bernilai 6 untuk string apu me. Encoder kemudian akan menjadikan simbol s sebagai output dibandingkan token, bila pencarian yang kedua yang dipakai. Hal inilah yang disebut dengan secondary search. Ada 3 metode yang dihasilkan dengan memodifikasi karakteristik secondary search, yaitu high-compression, normal dan fast. Dengan pilihan metode high-compression, akan dilakukan pencarian sekunder secara maksimal. Pilihan metode normal akan melakukan pencarian sekunder secukupnya. Pilihan metode fast akan melakukan pencarian sekunder seminimal mungkin bahkan tidak ada sama sekali. Implementasi secondary search ini sepenuhnya diserahkan kepada implementor.

19 Di dalam algoritma asli LZ77 sebuah token diharuskan mengandung tiga unsur, yaitu offset, length dan karakter. Sehingga apabila yang dihasilkan adalah token (,, c), maka penyimpanan yang dibutuhkan jauh lebih besar daripada ukuran satu karakter (8 bit). Yang artinya penerjemahan bentuk token tersebut dalam bentuk bit adalah sebuah pemborosan. Algoritma Deflate memperbaiki kelemahan ini dengan cara menjadikan karakter asli tersebut sebagai output. Karakter demikian yang tidak ditemukan kesesuaiannya disebut literal. Bagian data yang terkompresi terdiri atas literal, distance (offset, pada algoritma LZ77) dan length, dimana Encoder akan menuliskan kode Huffman untuk ketiga unsur itu. Kode Huffman dihasilkan dengan menggunakan dua tabel, satu tabel untuk literal dan length, satu lagi untuk distance. Masing-masing blok dimulai dengan 3 bit pendahulu, bit BFINAL yang berisi jika blok tersebut adalah blok terakhir dalam data yang terkompresi dan 2 bit BTYPE yang menentukan bagaimana cara kompresi dilakukan. Bagian berikutnya adalah pohon Huffman yang bersifat independen atau unik terhadap blok-blok lainnya. Selanjutnya adalah bagian data yang sudah dikompres. Bagian tersebut berisi referensi-referensi kepada rangkaian simbol yang sesuai. Referensi tersebut direpresentasikan atas pasangan <length, backward distance>. Representasi yang digunakan dalam algoritma Deflate membatasi distance dengan ukuran 32 Kbytes (walaupun melewati jangkauan satu blok) dan length dengan ukuran 258 bytes, namun tidak membatasi ukuran blok kecuali yang berisi data tidak dikompres. Ada 3 cara kompresi yang dapat dilakukan. Sesuai dengan kemungkinan nilai BTYPE:. - Tidak ada kompresi Kompresi dengan kode Huffman yang sudah ditentukan Kompresi dengan kode Huffman yang dinamis Tidak Ada Kompresi (BTYPE ) Blok yang menggunakan cara ini tidak akan melakukan kompresi. Hal ini dapat dimengerti jika terdapat file-file yang tidak dapat dikompres atau sudah pernah dikompres atau dengan alasan untuk memecah file tanpa kompresi. Pemecahan

20 tersebut sangat berguna jika seorang pengguna ingin memindahkan 8 GB data dengan menggunakan hanya 2 DVD berkapasitas 4.5 GB. Cara ini tidak menggunakan tabel apapun. Sebuah blok ditulis dengan cara ini akan didahului byte yang menyatakan blok tidak menggunakan kompresi, diikuti 2 bytes LEN, 2 bytes komplemen LEN dan literal sebanyak LEN bytes. Cara ini dibatasi dengan ukuran LEN yang merepresentasikan bytes literal Kompresi Dengan Kode Huffman Yang Sudah Ditentukan (BTYPE ) Dua buah tabel telah menjadi kesatuan dan tertanam dalam encoder dan decoder. Hal ini akan mempercepat proses kompresi namun memiliki kelemahan jika tabel yang digunakan ternyata sangat berbeda dengan daftar simbol secara statistik. Literal dan length ditempatkan dalam tabel pertama dan distance pada tabel kedua. Tabel 2. EDOC literal dan length (Deutsch, L. P. 996a) Kode Bit length Kode Bit length Kode Bit length ekstra ekstra ekstra , , , , Tabel 2.2 Kode Huffman Untuk EDOC (Deutsch, L. P. 996a) EDOC bit Kode prefix

21 Kode yang terdapat pada tabel 2. bukan merupakan yang sebenarnya ditulis ke output. Apa yang sebenarnya ditulis ke output adalah kode prefix untuk EDOC, yang diuraikan pada tabel 2.2. Untuk itu Istilah EDOC digunakan untuk menghilangkan pengertian ambigu bagi tabel pertama. Tabel pertama menempatkan EDOC -255 untuk literal, EDOC 256 untuk end-of-block dan EDOC untuk length. 29 EDOC untuk length tidaklah cukup untuk merepresentasikan 256 kemungkinan yang menyatakan rangkaian simbol yang sesuai dari 3 hingga 258 bytes, oleh sebab itu bit ektra digunakan. Nilai length tertinggi adalah 258, dengan kata lain nilai length dibatasi 258 bytes yang artinya look-ahead buffer berukuran 258 bytes. Sebagai contoh, jika didapati rangkaian simbol yang sesuai mempunyai length. Dengan menggunakan tabel 2., didapat EDOC 264. Kemudian, dengan tabel 2.2 EDOC 264 ditulis dengan 7 bit kode prefix, yaitu. Length 2 menjadi EDOC 269 diikuti 2 bit ekstra, ditulis dengan 7 bit kode prefix, yaitu. Length 258 menjadi EDOC 285, ditulis dengan 8 bit kode prefix, yaitu. Sebuah end-of-block ditulis dengan 7 bit nilai, yaitu. Tabel 2.3 Kode distance (Deutsch, L. P. 996a) Ko Bit distance Ko Bit distance Ko Bit distance de ekstra De ekstra de ekstra , , Tabel kedua, yaitu tabel distance dapat dilihat pada tabel 2.3. Sebuah jarak direpresentasikan dengan kode prefix 5 bit yang diikuti dengan bit ekstra. Pertama sekali, dengan menelusuri nilai jarak pada kolom distance, didapatlah kode pada kolom kode yang merupakan prefix 5 bit tersebut. Pada kolom bit ekstra didapati panjang bit ekstra. Untuk mendapatkan bit ekstra, dilakukan pengurangan antara jarak dengan nilai awal pada kolom distance lalu dikonversi ke dalam bentuk bilangan biner

22 dengan penambahan nol secukupnya sesuai panjang bit ekstra yang didapat. Nilai distance tertinggi adalah , dengan kata lain nilai jarak dibatasi bytes yang artinya search buffer berukuran bytes. Sebagai contoh, jika didapati rangkaian simbol yang sesuai dengan distance 6, ditulis. Distance 2 ditulis. Distance 4 ditulis. Distance 895 ditulis. Distance 955 ditulis. Blok yang ditulis dengan cara ini akan didahului byte yang menyatakan blok menggunakan kompresi dengan kode Huffman yang sudah ditentukan, diikuti bagian data yang sudah dikompres. Bagian ini ditulis dengan bentuk kode prefix untuk literal dan length, dan kode prefix lain untuk distance. Blok diakhiri dengan kode prefix end-of-block Kompresi Dengan Kode Huffman Yang Dinamis (BTYPE ) Pembangunan tabel kode sesuai dengan keadaan data yang akan dikompres dilakukan pada blok ini. Hal ini menghasilkan tabel kode yang unik. Pembacaan keseluruhan source input akan dilakukan untuk membentuk tabel probabilitas guna menghasilkan kode Huffman. Dua buah tabel seperti cara BTYPE juga dibentuk, keduanya ditulis menjadi kesatuan dalam bagian data yang sudah dikompres dengan cara yang unik. Bagian terpenting dalam algoritma Deflate ini terletak pada bagaimana mengkompresi tabel kode dan bagimana mengembalikannya seperti semula. Langkah-langkah utama untuk melakukan hal itu adalah sebagai berikut:. Masing-masing tabel dimulai sebagai pohon Huffman. 2. Pohon tersebut disusun kembali untuk memenuhi bentuk standar yang dapat direpresentasikan menjadi rangkaian dari panjang kode. 3. Rangkaian kemudian dikompres dengan Run Length Encoding menjadi rangkaian yang lebih sederhana.

23 4. Dengan algoritma Huffman, diperoleh kode Huffman untuk rangkaian sebelumnya. Pohon Huffman kembali disusun kembali untuk memenuhi bentuk standar. 5. Pohon Huffman kemudian direpresentasikan menjadi rangkaian dari panjang kode yang sebelumnya dipermutasi dan bisa saja dihilangkan sebagian pada output. Dalam menggunakan algoritma Huffman, terdapat beberapa aturan tambahan yang diberikan oleh algoritma Deflate. Pohon Huffman diharuskan memiliki bentuk standar. Untuk itu, pohon yang baru harus memenuhi aturan berikut:. Kode yang lebih pendek muncul di sebelah kiri dan yang lebih panjang muncul di sebelah kanan di pohon Huffman. 2. Ketika beberapa simbol memiliki kode dengan panjang yang sama, secara lexicographically simbol yang lebih kecil ditempatkan di sebelah kiri. Sebagai contoh, enam simbol (A, B, C, D, E, F) memiliki probabilitas kemunculan masing-masing.,.4,.2,.3,.24, dan.26. Dengan algoritma Huffman, pohon Huffman yang dikonstruksi tampak pada gambar 2.2. Pohon tersebut kembali disusun ulang dengan memperhatikan aturan () dan (2), menghasilkan pohon Huffman yang tampak pada gambar 2.3. Pohon ini memiliki kelebihan dimana dapat direpresentasikan secara baik oleh rangkaian 3, 3, 3, 3, 2, 2 yang adalah panjang kode dari keenam simbol tadi. A C E D B F Gambar 2.2 Bentuk Standar Pohon Huffman Aturan ()

24 g E F A B C D Gambar 2.3 Bentuk Standar Pohon Huffman Aturan () Dan (2) Jika keenam simbol tersebut memiliki probabilitas kemunculan yang berbeda, antara lain.26,.,.4,.2,.24, dan.3. Maka, Rangkaian yang tebentuk adalah 2, 3, 3, 3, 2, 3. Panjang dari kode dibatasi hingga 4 bit masing-masing. Dimana dalam integer batas itu mempunyai interval [, 5], berimplikasi bahwa kode tersebut memiliki panjang paling banyak 5 bit. Decoder mampu menghasilkan pohon Huffman kembali dengan membaca rangkaian panjang kode dari tiap-tiap simbol. Penggalan berikut merupakan bagian dari algoritma Deflate dalam menghasilkan kode yang kemudian ditempatkan pada tree[i].code:. Hitung jumlah kode untuk masing-masing panjang kode. Menggunakan bl_count[n] sebagai nilai yang menyatakan jumlah kode dengan panjang kode N (N >= ). 2. Hitung nilai dasar untuk masing-masing panjang kode yang ditempatkan pada next_code[n] untuk panjang kode N. code = ; bl_count[] = ; for (bits = ; bits <= MAX BITS; bits++) f code = (code + bl_count[bits-]) << ; next_code[bits] = code; 3. Menghasilkan kode yang sebenarnya. for (n = ; n <= max_code; n++) f len = tree[n].len; if (len!= ) f tree[n].code = next code[len]; next code[len]++;

25 Sebagai contoh, diberikan masukan rangkaian 3, 3, 3, 3, 3, 2, 4, 4. Langkah pertama tidak menemukan kode untuk panjang kode, buah kode untuk panjang kode 2 (bl_count[2] = ), 5 buah kode untuk panjang kode 3 (bl_count[3] = 5) dan 2 buah kode untuk panjang kode 4 (bl_count[4] = 2). Langkah kedua memberi nilai sebagai nilai dasar pada panjang kode. Dalam loop berikutnya tidak menemukan kode, maka diberi nilai sebagai nilai dasar pada panjang kode 2. Loop berikutnya menemukan buah kode, maka panjang kode 3 diberi nilai dasar 2 (2*(+)). Loop terakhir ditemukan 5 buah kode, maka panjang kode 4 diberi nilai dasar 4 (2*(2+5)). Langkah ketiga menghasilkan 3 bit kode (nilai dasar 2), (nilai dasar 2 + ), (nilai dasar 2 + 2), (nilai dasar 2 + 3), (nilai dasar 2 + 4). Berikutnya menghasilkan 4 bit kode (nilai dasar 4), (nilai dasar 4 + ) dan terakhir 2 bit kode (nilai dasar ). Rangkaian yang dijelaskan diatas dikenal dengan istilah SQ (Short Sequence) dari panjang kode CL (Code Length). Algoritma Deflate lebih lanjut melakukan kompresi terhadap SQl dengan menggunakan Run Length Encoding. Langkah-langkah berikut dilakukan dalam mencapai maksud tersebut:. Menerapkan Run Length Encoding, menghasilkan rangkaian baru dengan istilah SSQ (Short of Short Sequence). 2. Membangun pohon Huffman dari SSQ dan menghasilkan rangkaian baru dengan istilah CCL (Code of Code Length) untuk kode-kode Hufman tersebut. 3. Permutasi ataupun juga penyederhanaan dari CCL dalam bagian data yang sudah dikompres pada blok. Langkah pertama. Ketika sebuah CL muncul lebih dari tiga kali, encoder menambahkan CL kepada SSQ diikuti dengan flag khusus 6 dan 2 bit faktor pengulangan (3-6 pengulangan). Sebagai contoh, sebuah rangkaian memuat CL 7 berulang-ulang sebanyak enam kali, akan dikompres menjadi 7, 6, 2. Faktor pengulangan 2 menyatakan 5 kemunculan berturut-turut dari panjang kode yang sama. Jika sebuah rangkaian memuat CL 6 berulang-ulang sebanyak sepuluh kali, akan dikompres menjadi 6, 6, 2, 6, 2. Faktor pengulangan 2 menyatakan 6

26 kemunculan berturut-turut dan 2 menyatakan 3 kemunculan berturut-turut dari panjang kode yang sama. CL akan didapati dalam jumlah yang banyak. Hal ini dikarenakan dalam satu blok akan banyak literal/length ataupun distance yang tidak muncul ataupun ditemukan sehingga diberi nilai CL. Penggunaan flag khusus 7 dan 8 dikenakan kepada CL. Flag 7 akan diikuti dengan 3 bit faktor pengulangan (3- pengulangan CL ). Flag 8 akan diikuti dengan 7 bit faktor pengulangan (-38 pengulangan CL ). Sebagai contoh, sebuah rangkaian memuat CL berulang-ulang sebanyak enam kali dikompres menjadi 7, 2 dan dua belas CL dikompres menjadi 8, 2. Terdapat SQ dengan 28 CL: 4, 4, 4, 4, 4, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,,,,,,, 2, 2, 2, 2. Rangkain tersebut akan dikompres menjadi SSQ dengan 6 angka: 4, 6, 2, 3, 3, 3, 6, 6, 2, 6, 2, 7, 2, 2, 6, 2. Atau dalam desimal menjadi: 4, 6,, 3, 3, 3, 6, 6, 3, 6,, 7, 3, 2, 6,. Langkah kedua. Menghasilkan kode Huffman untuk SSQ berikut (dengan probabilitas kemunculan berada pada tanda kurung): (2), (), 2(), 3(5), 4(), 6(), 6(4), 7(). Pohon Huffman dalam bentuk standar dapat dilihat pada gambar 2.4 dan 2.5. Sehingga didapatlah kode Huffman dengan CCL sebagai berikut: 4, 5, 5,, 5, 5, 2 dan 4 berturut-turut untuk kode,, 2, 3, 4, 6, 6, dan Gambar 2.4 Pohon Huffman SSQ

27 Gambar 2.5 Bentuk Standar Pohon Huffman SSQ Langkah ketiga. Rangkaian dari CCL kemudian diperluas menjadi 9 angka dengan menambahkan angka kepada posisi CCL yang tidak dipakai. Kemudian akan dilakukan pengacakan dengan urutan tertentu dan dilakukan permutasi. Position : CLL : Position : CLL : Permutasi dilakukan dengan maksud menghilangkan rangkaian yang berada diakhir rangkaian dari CCL, sehingga dengan memperhatikan contoh diatas rangkaian akhir berupa 8 kode. Rangkaian akhir kemudian akan ditulis pada compressed stream. Blok yang ditulis dengan cara ini akan didahului byte yang menyatakan blok menggunakan kompresi dengan kode Huffman yang dinamis, diikuti tabel kode Huffman, dua buah tabel (literal/length dan distance) dan bagian data yang sudah dikompres. Bagian ini ditulis dengan bentuk kode prefix untuk literal dan length, dan kode prefix lain untuk distance. Blok diakhiri dengan sebuah kode endof-block.

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak

Lebih terperinci

BAB II DASAR TEORI. 2.1 Pendahuluan

BAB II DASAR TEORI. 2.1 Pendahuluan BAB II DASAR TEORI 2.1 Pendahuluan Kompresi data adalah proses pengkodean (encoding) informasi dengan menggunakan bit yang lebih sedikit dibandingkan dengan kode yang sebelumnya dipakai dengan menggunakan

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 5 BAB 2 TINJAUAN PUSTAKA Setelah membaca bab ini maka pembaca akan memahami pengertian tentang kompresi, pengolahan citra, kompresi data, Teknik kompresi, Kompresi citra. 2.1 Defenisi Data Data adalah

Lebih terperinci

Kompresi. Definisi Kompresi

Kompresi. Definisi Kompresi 1 Kompresi Bahan Kuliah : Sistem Multimedia PS TI Undip Gasal 2011/2012 2 Definisi Kompresi Memampatkan/mengecilkan ukuran Proses mengkodekan informasi menggunakan bit yang lain yang lebih rendah daripada

Lebih terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis

Lebih terperinci

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

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION 3.1 Kompresi Data Definisi 3.1 Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat

Lebih terperinci

BAB 1 PENDAHULUAN. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa

BAB 1 PENDAHULUAN. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Data adalah bentuk jamak dari datum yang berarti sesuatu yang diberikan. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kompresi 2.1.1 Sejarah kompresi Kompresi data merupakan cabang ilmu komputer yang bersumber dari Teori Informasi. Teori Informasi sendiri adalah salah satu cabang Matematika yang

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 6 BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Dalam ilmu komputer, pemampatan data atau kompresi data adalah sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga

Lebih terperinci

TEKNIK KOMPRESI LOSSLESS TEXT

TEKNIK KOMPRESI LOSSLESS TEXT TEKNIK KOMPRESI LOSSLESS TEXT Teknik Elektro Unibraw Kompresi Memampatkan / mengecilkan raw data Kompresi Multimedia: memampatan raw data multimedia Kompresi multimedia adalah mutlak mengingat ukuran raw

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang 1 BAB 1 PENDAHULUAN 1.1. Latar Belakang Kompresi data adalah suatu proses untuk mengubah sebuah input data stream (stream sumber atau data mentah asli) ke dalam aliran data yang lain yang berupa output

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Peningkatan teknologi komputer memberikan banyak manfaat bagi manusia di berbagai aspek kehidupan, salah satu manfaatnya yaitu untuk menyimpan data, baik data berupa

Lebih terperinci

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

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING Pandi Barita Simangunsong Dosen Tetap STMIK Budi Darma Medan Jl. Sisingamangaraja No. 338 Simpang

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 5 BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Kompresi data adalah proses mengubah sebuah aliran data input menjadi aliran data baru yang memiliki ukuran lebih kecil. Aliran yang dimaksud adalah berupa file

Lebih terperinci

Penggunaan Pohon Huffman pada Algoritma Deflate

Penggunaan Pohon Huffman pada Algoritma Deflate Penggunaan Pohon Huffman pada Algoritma Deflate Nurul Fithria Lubis (13510012) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA Pada bab ini penulis memaparkan teori-teori ilmiah yang didapat dari metode pencarian fakta yang digunakan untuk mendukung penulisan skripsi ini dan sebagai dasar pengembangan sistem

Lebih terperinci

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

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT Sutardi Staf Pengajar Jurusan Pendidikan Teknik Informatika Fakultas Teknik Universitas Halu Oleo Kampus Hijau Bumi Tridarma

Lebih terperinci

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

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series MULTIMEDIA system Roni Andarsyah, ST., M.Kom Lecture Series Kompresi data teks (Huffman coding, RLE coding, LZW coding, arithmetic coding Representasi dan kompresi data suara dan audio Representasi dan

Lebih terperinci

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

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA. Kompresi. Oky Dwi Nurhayati, ST, MT PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA Kompresi Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id 1 Definisi memampatkan/mengecilkan ukuran proses mengkodekan informasi menggunakan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI.1 Pengertian File Teks Teks adalah kumpulan dari karakter karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada

Lebih terperinci

PENGANTAR KOMPRESI DATA

PENGANTAR KOMPRESI DATA PENGANTAR KOMPRESI DATA PUTU WIDHIARTHA widhiartha@yahoo.com http://widhiartha.multiply.com Lisensi Dokumen: Copyright 2003-2008 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2.1. Kompresi Data Kompresi adalah mengecilkan/ memampatkan ukuran. Kompresi Data adalah teknik untuk mengecilkan data sehingga dapat diperoleh file dengan ukuran yang lebih kecil

Lebih terperinci

Kode Huffman dan Penggunaannya dalam Kompresi SMS

Kode Huffman dan Penggunaannya dalam Kompresi SMS Kode Huffman dan Penggunaannya dalam Kompresi SMS A. Thoriq Abrowi Bastari (13508025) Teknik Informatika Institut Teknologi Bandung email: if18025@students.itb.ac.id ABSTRAK Dalam makalah ini, akan dibahas

Lebih terperinci

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA Perbandingan Algoritma Terhadap Objek Menggunakan JAVA Maria Roslin Apriani Neta Program Studi Magister Teknik Informatika, Universitas Atma Jaya Yogyakarta Jl. Babarsari no 43 55281 Yogyakarta Telp (0274)-487711

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Citra Digital Citra digital adalah citra yang terdiri dari sinyal-sinyal frekuensi elektromagnetis yang sudah di-sampling sehingga dapat ditentukan ukuran titik gambar tersebut

Lebih terperinci

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan BAB II LANDASAN TEORI 2.1 Kompresi Kompresi data atau pemampatan data adalah suatu proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan data dan waktu

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Pengertian Data Compression 2.1.1 Data Menurut Oxford ( 2010 ),Data dapat diartikan suatu kumpulan angka, karakter, gambar yang sebelumnya tidak memiliki arti apa-apa hingga diproses

Lebih terperinci

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

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE I. Pendahuluan Irwan Munandar Balai Pendidikan dan Pelatihan Tambang Bawah Tanah Keterbatasan komputer

Lebih terperinci

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

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS Indra Sahputra Harahap (12110809) Mahasiswa Program Studi Teknik Informatika, Stmik Budidarma

Lebih terperinci

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

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom [TTG4J3] KODING DAN KOMPRESI Oleh : Ledya Novamizanti Astri Novianty Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom Optimal code pertama yang dikembangkan oleh David Huffman

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang 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

Lebih terperinci

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

Kode Huffman. Arya Tri Prabawa Program Studi Teknik Informatika ITB, Bandung 40116, Kode Huffman Arya Tri Prabawa Program Studi Teknik Informatika ITB, Bandung 40116, email: if16063@students.if.itb.ac.id Abstract Makalah ini membahas kode Huffman dalam konsep, sejarah singkat, dan aplikasinya.

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 6 BAB 2 TINJAUAN PUSTAKA 2.1. Citra Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa

Lebih terperinci

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data I Nyoman Prama Pradnyana - 13509032 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

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

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding Nama : Irwan Kurniawan NIM : 135 06 090 1) Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10,

Lebih terperinci

BAB II DASAR TEORI Teknik Kompresi Data

BAB II DASAR TEORI Teknik Kompresi Data BAB II DASAR TEORI 2.1. Teknik Kompresi Data Kompresi data dalam konteks ilmu komputer adalah suatu ilmu (dan seni) merepresentasikan informasi dalam bentuk yang padat[5]. Suatu proses mengubah masukan

Lebih terperinci

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK Asrianda Dosen Teknik Informatika Universitas Malikussaleh ABSTRAK Algoritma Huffman adalah salah satu algoritma kompresi. Algoritma huffman merupakan

Lebih terperinci

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

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC Roy Indra Haryanto - 13508026 Fakultas Sekolah Teknik Elektro dan Informatika Program Studi Teknik Informatika Institut

Lebih terperinci

BAB 2. LANDASAN TEORI 2.1. Algoritma Huffman Algortima Huffman adalah algoritma yang dikembangkan oleh David A. Huffman pada jurnal yang ditulisnya sebagai prasyarat kelulusannya di MIT. Konsep dasar dari

Lebih terperinci

BAB 2 Tinjauan Teoritis

BAB 2 Tinjauan Teoritis BAB 2 Tinjauan Teoritis 2.1 Tinjauan Kepustakaan Topik kompresi data ini pernah dikerjakan oleh salah satu mahasiswa Politeknik Negeri Bandung angkatan 2007 yaitu Andini Ramika Sari [4]. Proses kompresi

Lebih terperinci

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

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI Tri Yoga Septianto 1, Waru Djuiatno, S.T., M.T. 2, dan Adharul Muttaqin S.T. M.T. 1 Mahasisawa Teknik

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kompresi Data Kompresi data sudah ada dalam 20 tahun terakhir ini. Kompresi data memberikan pengaruh yang cukup besar terhadap berbagai bidang studi sekarang ini. Hal ini terbukti

Lebih terperinci

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

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM : KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN Nama : Irfan Hanif NIM : 13505049 Program Studi Teknik Informatika Institut Teknologi Bandung Jalan Ganesha No 10 Bandung E-mail : if15049@students.if.itb.ac.id

Lebih terperinci

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti KOMPRESI DATA DAN TEKS By : Nurul Adhayanti KOMPRESI DATA DAN TEKS KOMPRESI DATA Kompresi berarti memampatkan/mengecilkan ukuran Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing

Lebih terperinci

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

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu berhubungan dengan dokumentasi atau data. Data-data yang ada haruslah tersimpan dengan

Lebih terperinci

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng. TEKNIK PENGOLAHAN CITRA Kuliah 13 Kompresi Citra Indah Susilawati, S.T., M.Eng. Program Studi Teknik Informatika/Sistem Informasi Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta 2015 KULIAH

Lebih terperinci

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding Wisnu Adityo NIM:13506029 Program Studi Teknik Informatika ITB, Jalan Ganesha no 10 Bandung, email : raydex@students.itb.ac.id Abstrak Pada

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Terdapat beberapa literatur yang mengulas kembali algoritma JBE (Sadiq, et

BAB II TINJAUAN PUSTAKA. Terdapat beberapa literatur yang mengulas kembali algoritma JBE (Sadiq, et BAB II TINJAUAN PUSTAKA Terdapat beberapa literatur yang mengulas kembali algoritma JBE (Sadiq, et al., 2013; Sharma, et al., 2014; Singla & Kumar, 2014; Adewumi, 2015), namun belum pernah terdapat literatur

Lebih terperinci

Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman

Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman Indra Kelana Jaya Universitas Methodist Indonesia Medan, Indonesia indrakj_sagala@yahoo.com Resianta Perangin-angin

Lebih terperinci

Teknik Kompresi Citra Menggunakan Metode Huffman

Teknik Kompresi Citra Menggunakan Metode Huffman SEMINAR NASIONAL MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 26 A-5 Teknik Kompresi Citra Menggunakan Metode Huffman Tri Rahmah Silviani, Ayu Arfiana Program Pascasarjana Universitas Negeri Yogyakarta Email:

Lebih terperinci

Penerapan Pengkodean Huffman dalam Pemampatan Data

Penerapan Pengkodean Huffman dalam Pemampatan Data Penerapan Pengkodean Huffman dalam Pemampatan Data Patrick Lumban Tobing NIM 13510013 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

KOMPRESI DAN TEKS. = 4800 karakter. 8 x 8 Kebutuhan tempat penyimpanan per halaman = byte = byte = Kbyte

KOMPRESI DAN TEKS. = 4800 karakter. 8 x 8 Kebutuhan tempat penyimpanan per halaman = byte = byte = Kbyte KOMPRESI DAN TEKS KOMPRESI DATA Kompresi berarti memampatkan/mengecilkan ukuran Kompresi data adalah proses mengkodekan informasi menggunakan bit atau informationbearing unit yang lain yang lebih rendah

Lebih terperinci

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP Syahfitri Kartika Lidya 1) Mohammad Andri Budiman 2) Romi Fadillah Rahmat 3) Jurusan Teknologi Informasi

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI. Pengertian File Teks File teks merupakan file yang berisi informasi-informasi dalam bentuk teks. Data yang berasal dari dokumen pengolah kata, angka yang digunakan dalam perhitungan,

Lebih terperinci

Algoritma Huffman dan Kompresi Data

Algoritma Huffman dan Kompresi Data Algoritma Huffman dan Kompresi Data David Soendoro ~ NIM 13507086 Jurusan Teknik Informatika ITB, Bandung, email: if17086@students.if.itb.ac.id Abstract Algoritma Huffman merupakan salah satu algoritma

Lebih terperinci

Bab 6. Kompresi Data dan Teks. Pokok Bahasan : Tujuan Belajar : Sekilas Kompresi Data

Bab 6. Kompresi Data dan Teks. Pokok Bahasan : Tujuan Belajar : Sekilas Kompresi Data Pokok Bahasan : Sekilas kompresi data Jenis-jenis kompresi data Kriteria algoritma kompresi Klasifikasi teknik kompresi Teknik kompresi data Aplikasi kompresi Bab 6 Kompresi Data dan Teks Tujuan Belajar

Lebih terperinci

Konstruksi Kode dengan Redundansi Minimum Menggunakan Huffman Coding dan Range Coding

Konstruksi Kode dengan Redundansi Minimum Menggunakan Huffman Coding dan Range Coding Konstruksi Kode dengan Redundansi Minimum Menggunakan Huffman Coding dan Range Coding Aris Feryanto (NIM: 357) Jurusan Teknik Informatika ITB, Bandung 432, email: aris_feryanto@yahoo.com Abstract Banyak

Lebih terperinci

Kompresi Data dengan Kode Huffman dan Variasinya

Kompresi Data dengan Kode Huffman dan Variasinya Kompresi Data dengan Kode Huffman dan Variasinya I.Y.B. Aditya Eka Prabawa W. Teknik Informatika Institut Teknologi Bandung, Bandung 40116, email: aditya_eka@students.itb.ac.id Abstract Makalah ini membahas

Lebih terperinci

Entropy Naskah Bahasa Sunda Dan Bahasa Jawa Untuk Kompresi Teks Menggunakan Algoritma Binary Huffman Code

Entropy Naskah Bahasa Sunda Dan Bahasa Jawa Untuk Kompresi Teks Menggunakan Algoritma Binary Huffman Code Entropy Naskah Bahasa Sunda Dan Bahasa Jawa Untuk Kompresi Teks Menggunakan Algoritma Binary Huffman Code Syura Fauzan, Muhammad Saepulloh 2, Nanang Ismail 3, Eki Ahmad Zaki Hamidi 4,2,3,4 Teknik Elektro

Lebih terperinci

BAB III LANDASAN TEORI. Kompresi data merupakan proses mengkonversi input data stream (aliran

BAB III LANDASAN TEORI. Kompresi data merupakan proses mengkonversi input data stream (aliran BAB III LANDASAN TEORI A. Kompresi Data Kompresi data merupakan proses mengkonversi input data stream (aliran sumber) menjadi aliran data yang lain (output, bitstream, atau aliran terkompresi) dengan ukuran

Lebih terperinci

KONSEP. Tujuan Kompresi:

KONSEP. Tujuan Kompresi: Kompresi Data KONSEP Tujuan Kompresi: Mengurangi ukuran file Hasil kompresi mirip dengan sinyal (file) asli Algoritma kompresi dapat di implementasi dengan mudah Handal/ tidak mudah berubah (robust) KOMPRESI

Lebih terperinci

JURNAL IT STMIK HANDAYANI

JURNAL IT STMIK HANDAYANI VOLUME 5, DESEMBER 04 Sitti Zuhriyah Sistem Komputer, STMIK Handayani Makassar zuhriyahsompa@yahoo.com Abstrak Di dalam dunia komputer, semua informasi, baik berupa tulisan, gambar ataupun suara semuanya

Lebih terperinci

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

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8 Kompresi Data Contoh : (1) Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : Data Teks 1 karakter = 2 bytes (termasuk karakter ASCII Extended) Setiap karakter ditampilkan dalam 8 x

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA 50 BAB IV HASIL DAN UJI COBA IV.1. Jalannya Uji Coba Uji coba dilakukan terhadap beberapa file dengan ektensi dan ukuran berbeda untuk melihat hasil kompresi dari aplikasi yang telah selesai dirancang.

Lebih terperinci

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data Aditya Rizkiadi Chernadi - 13506049 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

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

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom [TTG4J3] KODING DAN KOMPRESI Oleh : Ledya Novamizanti Astri Novianty Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom Shannon Fano coding, dikembangkan oleh Claude Shannon di Bell

Lebih terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis

Lebih terperinci

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

BAB 3 METODOLOGI PENELITIAN. kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik BAB 3 METODOLOGI PENELITIAN 3.1 Metode Penelitian Dalam penulisan ini metode penelitian yang digunakan adalah metode studi kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik

Lebih terperinci

Brigida Arie Minartiningtyas, M.Kom

Brigida Arie Minartiningtyas, M.Kom Brigida Arie Minartiningtyas, M.Kom Struktur Data Struktur dan Data Struktur suatu susunan, bentuk, pola atau bangunan Data suatu fakta, segala sesuatu yang dapat dikodekan atau disimbolkan dengan kode-kode

Lebih terperinci

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL Aditya Wijaya, Suryarini Widodo Jurusan Teknik Informatika Fakultas Teknologi Industri Univesitas Gunadarma Jl. Margonda Raya

Lebih terperinci

Aplikasi Penggambar Pohon Biner Huffman Untuk Data Teks

Aplikasi Penggambar Pohon Biner Huffman Untuk Data Teks Aplikasi Penggambar Pohon Biner Huffman Untuk Data Teks Fandi Susanto STMIK MDP Palembang fandi@stmik-mdp.net Abstrak: Di dalam dunia komputer, semua informasi, baik berupa tulisan, gambar ataupun suara

Lebih terperinci

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

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding. ALGORITMA HUFFMAN KANONIK UNTUK KOMPRESI TEKS SMS Moch Ginanjar Busiri 13513041 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Teknik Pembangkitan Kode Huffman

Teknik Pembangkitan Kode Huffman Teknik Pembangkitan Kode Huffman Muhammad Riza Putra Program Studi Teknik Informatika ITB, Bandung 012, email: zha@students.itb.ac.id Abstrak Makalah ini membahas suatu teknik dalam pembangkitan kode Huffman

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Kompresi File Pada dasarnya semua data itu merupakan rangkaian bit 0 dan 1. Yang membedakan antara suatu data tertentu dengan data yang lain adalah ukuran dari rangkaian bit dan

Lebih terperinci

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN KOMPRESI STRING MENGGUNAKAN ALGORITMA DAN HUFFMAN Muhammad Maulana Abdullah / 13508053 Program Studi Teknik Informatika 2008 Bandung e-mail: if18053@students.if.itb.ac.id ABSTRAK Saat ini kompresi file

Lebih terperinci

Penerapan Pohon Biner Huffman Pada Kompresi Citra

Penerapan Pohon Biner Huffman Pada Kompresi Citra Penerapan Pohon Biner Huffman Pada Kompresi Citra Alvin Andhika Zulen (3507037) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan Ganesha No 0 Bandung,

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT. Email: okydn@undip.ac.id

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT. Email: okydn@undip.ac.id PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT Email: okydn@undip.ac.id Kompresi Data Kompresi berarti memampatkan / mengecilkan ukuran Kompresi data adalah proses mengkodekan

Lebih terperinci

Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip

Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip Amelia Natalie (13509004) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI FAHRUR RAZI

ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI FAHRUR RAZI ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana

Lebih terperinci

BAB 1 PENDAHULUAN 1-1

BAB 1 PENDAHULUAN 1-1 BAB 1 PENDAHULUAN Bab ini berisi penjelasan mengenai latar belakang tugas akhir, identifikasi masalah, tujuan tugas akhir, metodologi tugas akhir dan sistematika penulisan tugas akhir. 1.1 Latar Belakang

Lebih terperinci

KOMPRESI DAN TEKS M U L T I M E D I A KOMPRESI DATA

KOMPRESI DAN TEKS M U L T I M E D I A KOMPRESI DATA M U L T I M E D I A Universitas Gunadarma KOMPRESI DAN TEKS KOMPRESI DATA - Kompresi berarti memampatkan/mengecilkan ukuran - Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan penguraian dari suatu sistem yang utuh kedalam bagian bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi

Lebih terperinci

KOMPRESI DATA. Multimedia Jurusan Teknik Informatika. Riki Ruli S -

KOMPRESI DATA. Multimedia Jurusan Teknik Informatika. Riki Ruli S - KOMPRESI DATA Multimedia Jurusan Teknik Informatika ruliriki@gmail.com 1 Teknik Kompresi adalah teknik memadatkan data, sehingga data yang tadinya mempunyai kapasitas data yang besar menjadi kapasitas

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Kompresi data adalah proses mengubah sebuah aliran data input menjadi aliran data baru yang memiliki ukuran lebih kecil. Aliran yang dimaksud adalah berupa file

Lebih terperinci

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

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan BAB III METODOLOGI PENELITIAN 3.1 Tempat dan Waktu Penelitian Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM. Analisa masalah yang didapat dari penelitian ini adalah membuat data

BAB III ANALISA DAN DESAIN SISTEM. Analisa masalah yang didapat dari penelitian ini adalah membuat data BAB III ANALISA DAN DESAIN SISTEM III.1. Analisa Masalah Analisa masalah yang didapat dari penelitian ini adalah membuat data kompresi dengan menggunakan algoritma LZ77 dan Lempel Ziv Welch (LZW). Algoritma

Lebih terperinci

BAB 1 PENDAHULUAN 1-1

BAB 1 PENDAHULUAN 1-1 BAB 1 PENDAHULUAN Bab ini berisi penjelasan mengenai latar belakang tugas akhir, identifikasi masalah, tujuan tugas akhir, metodologi tugas akhir dan sistematika penulisan tugas akhir. 1.1 Latar Belakang

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Bab ini membahas teori penunjang dan penelitian sebelumnya yang berhubungan dengan penerapan algoritma Shannon-Fano untuk kompresi file audio. 2.1 Kompresi Data tidak hanya disajikan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Kompresi Data Kompresi data di dalam konteks ilmu komputer adalah merupakan ilmu atau seni dalam merepresentasikan informasi yang terdapat pada data ke dalam suatu bentuk yang

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 19 BAB 2 LANDASAN TEORI 2.1 Pengertian File Teks File teks merupakan file yang berisi informasi-informasi dalam bentuk teks. Data yang berasal dari dokumen pengolah kata, angka yang digunakan dalam perhitungan,

Lebih terperinci

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

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011 STMIK GI MDP Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011 ANALISIS METODE HUFFMAN UNTUK KOMPRESI DATA CITRA DAN TEKS PADA APLIKASI KOMPRESI DATA Shelly Arysanti

Lebih terperinci

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman Edmund Ophie - 13512095 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Citra Digital Citra adalah suatu representasi, kemiripan atau imitasi dari suatu objek atau benda, misal: foto seseorang mewakili entitas dirinya sendiri di depan kamera. Sedangkan

Lebih terperinci

PERBANDINGAN ALGORITMA HUFFMAN DENGAN ALGORITMA SHANNON-FANO

PERBANDINGAN ALGORITMA HUFFMAN DENGAN ALGORITMA SHANNON-FANO PERBANDINGAN ALGORITMA HUFFMAN DENGAN ALGORITMA SHANNON-FANO Gagarin Adhitama (13508089) Program Studi Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10, Bandung Email : if18089@students.if.itb.ac.id

Lebih terperinci

KOMPRESI DAN TEKS. Pemrograman Multimedia KOMPRESI DATA. Diktat Kuliah

KOMPRESI DAN TEKS. Pemrograman Multimedia KOMPRESI DATA. Diktat Kuliah Diktat Kuliah Pemrograman Multimedia Yulisdin Mukhlis, ST., MT KOMPRESI DAN TEKS KOMPRESI DATA - Kompresi berarti memampatkan/mengecilkan ukuran - Kompresi data adalah proses mengkodekan informasi menggunakan

Lebih terperinci

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

BAB I PENDAHULUAN. Dalam bidang teknologi informasi, komunikasi data sangat sering BAB I PENDAHULUAN 1.1 Latar Belakang Dalam bidang teknologi informasi, komunikasi data sangat sering dilakukan. Komunikasi data ini berhubungan erat dengan pengiriman data menggunakan sistem transmisi

Lebih terperinci

Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif

Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif Timotius Triputra Safei (13509017) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci