BAB II TEKNIK KOMPRESI DATA

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB II TEKNIK KOMPRESI DATA"

Transkripsi

1 BAB II TEKNIK KOMPRESI DATA 2.1 Pendahuluan Kompresi data adalah proses pengkodean (encoding) informasi dengan menggunakan bit yang lebih sedikit dibandingkan dengan kode yang sebelumnya dipakai dengan menggunakan skema pengkodean tertentu. Kompresi data, terutama untuk proses komunikasi, dapat bekerja jika kedua pihak antara pengirim dan penerima data komunikasi memiliki skema pengkodean yang sama. Kompresi data hanya mungkin untuk dilakukan apabila data yang direpresentasikan dalam berntuk normal mengandung informasi yang tidak dibutuhkan. Ketika data tersebut sudah ditampilkan dalam format yang seminimal mungkin, maka data tersebut sudah tidak akan bisa dikompresi lagi. File yang demikian disebut dengan random file Kompresi Lossless Kompresi data yang menghasilkan file data hasil kompresi yang dapat dikembalikan menjadi file data asli sebelum dikompresi secara utuh tanpa perubahan apapun. Kompresi data lossless bekerja dengan menemukan pola yang berulang di dalam pesan yang akan dikompres tersebut dan melakukan proses pengkodean pola tersebut secara efisien. Kompresi ini juga dapat berarti proses untuk mengurangi redundancy. Kompresi jenis ini ideal untuk kompresi teks. Algoritma yang termasuk dalam metode kompresi lossless diantaranya adalah teknik dictionary coding dan huffman coding Kompresi Lossy Kompresi data yang menghasilkan file data hasil kompresi yang tidak dapat dikembalikan menjadi file data sebelum dikompresi secara utuh. Ketika data 5

2 hasil kompresi di-decode kembali, data hasil decoding tersebut tidak dapat dikembalikan menjadi sama dengan data asli tetapi ada bagian data yang hilang. Oleh karena itu kompresi jenis ini tidak baik untuk kompresi data yang kritis seperti data teks. Bentuk kompresi seperti ini sangat cocok untuk digunakan pada file-file gambar, suara, dan film. Contoh penggunaan kompresi lossless adalah pada format file JPEG, MP3, dan MPEG. 2.2 Teknik Dictionary Coding Teknik dictionary coding adalah teknik kompresi yang dilakukan dengan cara mencari string yang sama di dalam dictionary buffer dan look-ahead buffer. Apabila ditemukan string yang sama, maka akan dikeluarkan sebuah token yang isinya mewakili informasi string tersebut. Karena ukuran token tersebut lebih kecil daripada ukuran string yang diwakilinya, maka akan terjadi kompresi. Kompresi pada dictionary coding sangat tergantung pada data yang akan dikompresikan dan dictionary yang digunakan. Apabila pada data yang akan dikompresikan jarang ditemukan string yang sama dengan yang ada di dictionary, maka kinerja dari algoritma kompresinya terhadap data tersebut akan buruk. Sebaliknya, apabila pada data yang akan dikompresikan banyak string yang sama dengan string yang ada pada dictionary, maka kinerja algoritma kompresinya akan baik. Algoritma yang termasuk pada dictionary coding sebagian besar berasal dari keluarga algoritma Lempel-Ziv, seperti algoritma Lempel-Ziv Storer Szymanski (LZSS), algoritma Lempel-Ziv 78, dan algoritma Lempel-Ziv Welch. Ketiga algoritma tersebut akan dibahas pada subbab selanjutnya Algoritma Lempel-Ziv 77 Algoritma Lempel-Ziv 77 (LZ77) merupakan algoritma pertama dalam keluarga algoritma Lempel-Ziv. Ide utama dari algoritma ini adalah menggunakan sebagian dari input yang telah lewat sebagai dictionary, sehingga algoritma ini dapat dikatakan bekerja berdasarkan prinsip sliding window. Window bagian kiri 6

3 disebut dengan search buffer atau dictionary buffer, sedangkan window bagian kanan disebut dengan look-ahead buffer. Dictionary buffer menyimpan simbolsimbol yang baru saja dikodekan, sedangkan look-ahead buffer menyimpan simbol yang akan dikodekan. Pada tiap iterasi, algoritma akan mencari pada dictionary buffer substring (sepanjang mungkin) yang matching dengan prefix pada look-ahead buffer. Jika terjadi match, maka akan ditransmisikan triplet <p,l,s>. P menujukkan posisi match pada dictionary buffer yang dihitung dari sisi kanan dictionary buffer. L menujukkan panjang match yang diperoleh, sedangkan s menunjukkan simbol pertama yang tidak match pada look-ahead buffer. Setelah token ditransmisikan, maka buffer akan digeser sebanyak jumlah match yang terjadi. Contoh operasi algoritma LZSS dapat dilihat pada gambar 2.1. Data: sir sid eastman easily teases sea sick seals Gambar 2.1. Contoh proses encoding algoritma LZ77 [1]. Gambar 2.1 dapat dijelaskan sebagai berikut: Pertama, input mengisi look-ahead buffer sampai penuh. Karena karakter pertama dari look-ahead buffer tidak memiliki match, maka akan dikeluarkan token <0,0, s >. Selanjutnya, karena karakter yang dikodekan berjumlah satu buah, maka buffer akan digeser sepanjang satu karakter ke kiri. Selanjutnya, dapat kita lihat bahwa karakter i juga tidak memiliki macth, sehingga akan dikeluarkan token <0,0, i >. Karena input yang dikodekan berjumlah satu buah, buffer kembali digeser sebanyak satu karakter ke kiri. 7

4 Keadaan ketiga dan keadaan keempat masih sama seperti pada keadaan pertama dan kedua. Dengan demikian, akan dikeluarkan token <0,0, r > dan token <0,0, > untuk kedua keadaan tersebut. Pada keadaan kelima barulah terjadi macth yaitu antara string si pada dictionary buffer dengan pada look-ahead buffer, sehingga token yang dikeluarkan adalah <4,1, e >. Pada keadaan ini, setelah mengeluarkan token, maka input akan digeser sebanyak jumlah karakter yang macth, yaitu sebesar dua karakter. Selanjutnya, terjadi macth antara sesama karakter spasi pada dictionary buffer dengan pada look-ahead buffer. Karena terjadi macth, maka akan dikeluarkan token <4,1, e >. Setelah itu, input akan digeser sebanyak jumlah karakter macth, yaitu satu buah. Algoritma LZ77 memiliki suatu kekurangan yaitu selalu mengkodekan dengan menggunakan token yang berisi triplet. Kekurangan inilah yang menjadi salah satu hal yang diperbaiki oleh algoritma LZSS sehingga algoritma LZSS dapat menghasilkan rasio kompresi yang lebih baik daripada algoritma LZ Algoritma Lempel Ziv Storer Szymanski Seperti yang telah dijelaskan sebelumnya, algoritma Lempel-Ziv Storer Szymanski ini merupakan perbaikan dari algoritma LZ77. Algoritma ini dikembangkan oleh Storer dan Szymaski pada tahun1982 [3]. Pseudocode dari algoritma LZSS dapat dilihat pada gambar 2.1. Secara umum konsep dasarnya masih sama dengan algoritma LZ77, yaitu menggunakan dua buffer yang diisi oleh input berdasarkan metode sliding window. Perbedaan antara LZSS dengan LZ77 terletak pada tiga hal berikut: Menggunakan circular queue untuk menyimpan look-ahead buffer. Menyimpan dictionary buffer di dalam suatu pohon biner. Menggunakan dua jenis token, yaitu yang memiliki dua field dan yang memiliki tiga field. 8

5 Gambar 2.2. Pseudocode algoritma LZSS [8] Perbedaan LZSS Dengan Algoritma LZ Penggunaan Circular queue Circular queue adalah sebuah struktur basis data. Secara fisik, circular queue adalah suatu array tetapi memiliki cara penggunaan yang khusus. Gambar 2.2 memberikan ilustrasi singkat tentang circular queue. Gambar tersebut menunjukkan sebuah array 16-byte yang dibangun dengan cara menambahkan karakter pada akhir array, dan menghapus karakter yang berada pada awal array. Posisi awal dan akhir pada circular queue selalu bergeser dari kanan ke kiri dan selalu ditunjukkan dengan s dan e. Pada (a), terdapat 8 karakter sid_east, sisanya kosong. Pada (b), semua slot pada buffer terisi dan e menunjukkan akhir dari buffer. Pada (c), huruf pertama (huruf s) telah dihapus dan posisinya ditempati oleh huruf sebelahnya (huruf i). Penggunaan circular queue ini sebenarnya bertujuan untuk mempercepat proses encoding, karena dengan digunakannya circular queue maka isi dari look-ahead buffer tidak perlu untuk di geser satu persatu. 9

6 Gambar 2.3. Circular queuei [1] Penggunaan Binary-Search Tree Binary-search tree adalah sebuah pohon biner yang cabang sebelah kiri dari node A memiliki nilai yang lebih kecil dari node A, sedangkan cabang sebelah kanan memiliki nilai yang lebih besar daripada node A. Untuk membandingkan antara satu string dengan yang lainnya digunakan prinsip lexicographic order, yaitu berdasarkan kemunculan string tersebut pada alfabet. Sebagai contoh, string dana memiliki nilai lebih kecil daripada dara, karena huruf ketiga ( n ) dari kata dana muncul lebih dulu daripada huruf ketiga dari kata dari ( r ). Karakter spasi memiliki nilai yang lebih kecil daripada alfabet, sedangkan angka diletakkan setelah alfabet. Contoh sebuah binary-search tree dapat dilihat pada gambar 2.3. Gambar 2.4. Gambar adalah sebuah binary-search tree [1] Perbedaan Dalam Penggunaan Token Algoritma LZSS menggunakan dua jenis token, yaitu: 10

7 Token yang terdiri dari pasangan byte <1,s>. Token yang terdiri dari triplet <0,p,l>. Variabel S adalah simbol pertama pada look-ahead buffer yang tidak match. Variabel P adalah posisi match yang ditemukan pada dictionary buffer, sedangkan variabel L adalah panjang match yang ditemukan. Bit 1 dan 0 pada awal token berfungsi layaknya sebuah flag. Token jenis pertama akan dikeluarkan apabila tidak terjadi match antara dictionary buffer dengan look-ahead buffer, sedangkan token kedua akan dikelarkan apabila terjadi match antara dictionary buffer dengan look-ahead bufer. Token kedua akan lebih sering digunakan jika dalam proses pengkodean sering ditemukan match. Penggunaan dua jenis token ini adalah salah satu konsep yang membuat kompresi algoritma LZSS lebih baik daripada kompresi algoritma LZ77. Hal ini terjadi karena algoritma LZSS hanya mengeluarkan token dengan 2 karakter ketika tidak terjadi match, sedangkan algoritma LZ77, seperti yang telah dijelaskan sebelumnya, tetap mengeluarkan token dengan tiga karakter ketika tidak terjadi match Contoh Kasus Operasi Algoritma LZSS Contoh proses pengkodean menggunakan algoritma LZSS dapat kita lihat pada tabel II-1. 11

8 Data: aababacbaacbaadaaa Tabel II-1. Proses pengkodean LZSS [8]. Input Buffer (search look-ahead) Output aababacbaacbaadaaa aaaa 1a aababacbaacbaadaaa aaaa aaba 002 babacbaacbaadaaa aaaa baba 1b abacbaacbaadaaa aaab abac 022 acbaacbaadaaa abab acba 1a cbaacbaadaaa baba cbaa 1c baacbaadaaa abac baac 012 acbaadaaa acba acba 004 adaaa acba adaa 1a daaa cbaa daaa 1d aaa baad aaa 012 a adaa a 1a Pada contoh di atas, besarnya buffer (dictionary buffer dan lookahead buffer) adalah 8 bit. Proses yang terjadi adalah: Ketika awal pembacaan data, buffer diisikan dengan karakter awal yang diduplikasikan. Karena belum ada data pada dictionary buffer yang bisa dijadikan referensi, maka output dari encoder adalah karakter yang digunakan untuk inisialisasi dictionary buffer tersebut. Selanjutnya masukkan 4 bit awal dari data, yaitu string aaba, ke look-ahead buffer. Encoder akan mencari data pada dictionary buffer yang sama dengan bit awal dari string pada look-ahead buffer. Maka encoder akan mencari string terpanjang pada dictionary buffer yang bit awalnya sama dengan bit awal string pada look-ahead buffer. Maka encoder akan menemukan string aa. Output dari encoder adalah

9 Selanjutnya, buffer akan digeser ke kiri sepanjang string yang sama. Dalam contoh, buffer digeser ke kiri sebanyak 2 bit. Pada keadaan selanjutnya, karena pada dictionary buffer tidak ada karakter b, maka encoder akan mengeluarkan token 1b. dictionary buffer akan digeser satu bit ke kiri. Dst Algoritma Lempel-Ziv 78 Algoritma ini merupakan algoritma ketiga yang muncul dalam keluarga algoritma Lempel-Ziv. Berbeda dengan dua algoritma Lempel-Ziv sebelumnya, algoritma ini tidak lagi menggunakan search buffer dan look-ahead buffer yang digunakan secara sliding window, melainkan menggunakan suatu dictionary yang dibangun dari string-string yang telah dokodekan sebelumnya. Output hasil encoding-nya selalu berupa token yang berisi pasangan byte. Untuk simbol yang belum ada di dictionary maka akan dikeluarkan token <0,s>. Ketika mengkodekan simbol/string yang sudah ada di dictionary, maka algoritma akan memperpanjang input yang akan dikodekan satu per satu karakter sampai menjadi string yang belum ada pada dictionary. Pada keadaan ini akan dikeluarkan token <p,s>, dengan p menunjukkan posisi suatu simbol/string tersebut dalam dictionary dan s menunjukkan simbol pertama yang membedakan string baru yang lebih panjang tersebut dengan simbol/string pada posisi p di dictionary. Contoh operasi algoritma LZ78 dapat dilihat pada gambar 2.4. Data: aababacbaacbaadaaa 13

10 Gambar 2.5. Contoh operasi algoritma LZ78 [8]. Gambar 2.4 dapat dijelaskan sebagai berikut: Pertama kali, karena dictionary masih kosong, maka simbol pertama yang datang akan dikode dengan token <0,s>. Karena simbol pertama adalah huruf a, maka akan dikeluarkan token <0,a> dan encoder akan memasukkan huruf a ke dalam dictionarydengan indeks 1. Selanjutnya, data yang akan dikodekan bergeser ke huruf a yang kedua. Karena sudah ada huruf a sebelumnya, maka akan dikeluarkan token 1. Tetapi proses tidak berlangsung sampai disana. Ketika simbol/string yang akan dikodekan sudah ada di dalam dictionary, maka algoritma akan terus memperpanjang string tersebut sampai menjadi string pertama yang belum ada di dictionary. Pada contoh di atas, karena string ab belum ada pada dictionary, maka algoritma akan mengkodekan input sampai bagian tersebut. Dengan demikian, token <1,b> akan dikeluarkan yang mewakili suatu string yang tersusun atas isi dari dictionary dengan indeks 1 diikuti dengan huruf b. Pada saat yang sama, 14

11 karena string ab belum ada di dictionary, maka string tersebut akan ditambahkan pada dictionary dengan indeks 2. Pada keadaan ketiga ini encoder akan membaca simbol keempat, yaitu huruf a. Namun, karena huruf a ini sudah ada pada dictionary, maka encoder akan memperpanjang menjadi string ab. Sama seperti sebelumnya, karena string ab merupakan salah satu entry pada dictionary, maka encoder akan kembali memerpanjang deretan string yang akan dikodekan menjadi aba. Karena string ini belum ada di dictionary, maka encoder akan menambahkan string ini ke dalam dictionary dengan indeks 3. Token yang dikeluarkan adalah <2,a>. Angka 2 pada token menujukkan string ab, sedangkan huruf a mewakili huruf a tambahan setelah string pada indeks 2 di dictionary. Selanjutnya, encoder akan membaca simbol c. Karena simbol tersebut belum ada pada dictionary, maka akan dikodekan dengan token <0,c> dan huruf c akan dimasukkan ke dalam dictionary dengan indeks 4. Pada keadaan kelima ini, encoder akan membaca huruf b. Karena huruf b belum ada pada dictionary, maka akan dikeluarkan token <0,b> dan huruf b tersebut akan dimasukkan ke dalam dictionary dengan indeks 5. Selanjutnya, encoder akan membaca huruf a. Karena huruf a sudah ada di dictionary, maka encoder akan terus membaca input sehingga akan terbaca string aa. Karena string tersebut belum ada di dictionary, maka encoder akan menambahkan string tersebut ke dalam dictionary dengan indeks 6, dan mengeluarkan token <1,a>. Selanjutnya, encoder akan membaca huruf c. Karena huruf c sudah ada di dictionary, maka encoder akan memperpanjang string 15

12 sampai terbaca string cb. Dengan demikian, maka akan dikeluarkan token <4,b>. Angka 4 mewakili huruf c yang menempati indeks 4 pada dictionary, sedangkan huruf b pada token menujukkan adalah huruf b tambahan yang mengikuti huruf c. Selanjutnya, encoder akan membaca huruf a. Karena huruf a sudah ada pada dicitonary, maka encoder akan memperpanjang string yang dibacanya sehingga menjadi aa. Namun, karena string aa tersebut juga ada pada dictionary, maka encoder akan memperpanjang lagi sehingga string yang terbaca adalah aad. Karena string ini belum ada pada dictionary, maka encoder akan berhenti membaca dan mengkodekan string ini dengan token <6,d>. Angka 6 mewakili indeks tempat string aa pada dictionary, sedangkan huruf d merupakan huruf d yang mengikuti string aa sehingga string yang terbaca adalah string aad. Keadaan selanjutnya sama seperti proses ini Algoritma Lempel-Ziv Welch Algoritma ini merupakan perbaikan dari algoritma LZ78 yang diajukan oleh Terry Welch pada tahun 1984 [1]. Prinsip kerja algoritma ini sebagian besar sama dengan algoritma LZ78. Perbaikan yang dilakukan adalah mengurangi output encoder dari pasangan ke bilangan tunggal. Pseudocode algoritma LZW dapat dilihat pada gambar

13 Gambar 2.6. Pseudocode algoritma LZW [8]. Contoh operasi algoritma LZW dapat dilihat pada tabel II-2. Data: aababacbaacbaadaaa Tabel II-2. Contoh proses encoding algoritma LZW [8]. encoder dictionary input output indeks entry 1 a 2 b 3 c 4 d aa 1 5 aa ab 1 6 ab ba 2 7 ba aba 6 8 aba ac 1 9 ac cb 3 10 cb baa 7 11 baa acb 9 12 acb baad baad da 4 14 da aaa 5 15 aaa Proses encoding pada tabel II-2 dapat dijelaskan sebagai berikut: 17

14 Pertama encoder akan mengisi dictionary dengan semua simbol yang ada pada data input. Selanjutnya, encoder akan mengkodekan huruf a. Namun, karena huruf a telah ada di dalam dictionary, maka encoder akan mencoba mengkodekan lebih banyak lagi sehingga akan terbaca string aa. Karena string aa ini tidak ada di dalam dictionary, maka encoder akan menambahkan string tersebut, dan mengeluarkan output token 1 untuk mengkodekan huruf a. Lalu, encoder akan mengkodekan huruf a yang kedua. Namun, karena huruf a telah ada di dalam dictionary, maka encoder akan mencoba mengkodekan lebih banyak lagi sehingga akan terbaca string ab. Karena string tersebut belumada di dictionary, maka encoder akan menambahkan string tersebut. Encoder akan mengeluarkan output token 1 lagi untuk huruf a yang kedua. Selanjutnya, encoder akan mengkodekan huruf b. Namun, karena huruf b ada di dalam dictionary, maka encoder akan memperpanjang string yang akan dikodekannya menjadi string ba. Karena string tersebut belum ada pada dictionary, maka encoder akan menambahkannya. Encoder juga akan mengeluarkan token 2 untuk mewakili huruf b. Selanjutnya, encoder akan mengkodekan huruf a. Namun, karena huruf b ada di dalam dictionary, maka encoder akan memperpanjang string yang akan dikodekannya menjadi string ab. Selanjutnya, karena string ab juga ada di dalam dictionary, maka encoder akan memperpanjang string yang akan dikodekannya menjadi string aba. Karena string tersebut tidak ada pada dictionary, maka encoder akan menambahkannya, dan akan mengeluarkan token 6 yang mewakili string ab. 18

15 Selanjutnya encoder akan mengkodekan huruf a. Namun, karena huruf a ada di dalam dictionary, maka encoder akan memperpanjang string yang akan dikodekannya menjadi string ac. Karena string ac belum ada pada dictionary, maka encoder akan menambahkan string tersebut ke dalam dictionary, sekaligus mengeluarkan token 1 untuk mewakili huruf a yang dikodekannya. Selanjutnya encoder akan mengkodekan huruf c. Karena string selanjutnya tidak ada yang sama dengan string-string pada dictionary, maka encoder akan mengeluarkan token 3 yang mewakili huruf c saja. Pada saat yang sama, encoder juga akan membaca string cb dan akan menambahkan string tersebut ke dalam dictionary. Selanjutnya, encoder akan mengkodekan huruf b. Namun, karena huruf b sudah ada pada dictionary, maka encoder akan memperpanjang string yang akan dikodekan menjadi ba. Setelah itu, karena string ba tersebut ada dalam dictionary, maka encoder akan mencoba memperpanjang string yang akan dikodekannya. Namun tidak ditemukan lagi string yang sama dengan dictionary, sehingga encoder hanya akan mengkodekan string ba dengan token 7. Pada saat yang sama, encoder juga akan menambahkan string baa ke dalam dictionary. Selanjutnya, encoder akan mengkodekan huruf a. Namun, karena huruf a ada dalam dictionary, maka encoder akan memperpanjang string yang akan dikodekannya menjadi string ac. Setelah itu, karena string ac juga ada pada dictionary, maka encoder akan membaca lebih lanjut lagi menjadi string acb. Karena acb tidak ada di dictionar y, maka encoder akan menambahkan string tersebut dan mengeluarkan token 9 untuk mewakili string ac. Dst. 19

16 2.3 Huffman Coding Algoritma ini akan dibahas pada Tugas akhir ini karena algoritma ini merupakan algoritma yang digunakan oleh salah satu program kompresi untuk benchmarking algoritma LZSS. Dalam Huffman coding, panjang blok dari keluaran sumber dipetakan dalam blok biner berdasarkan panjang variabel. Cara seperti ini disebut sebagai fixed to variable-length coding. Ide dasar dari cara Huffman ini adalah memetakan mulai simbol yang paling banyak terdapat pada sebuah urutan sumber sampai dengan yang jarang muncul menjadi urutan biner. Dalam variable-length coding, sinkronisasi merupakan suatu masalah. Ini berarti harus terdapat satu cara untuk memecahkan urutan biner yang diterima kedalam suatu codeword. Seperti yang disebutkan diatas, bahwa ide dari Huffman Coding dalam memilih panjang codeword dari yang paling besar probabilitasnya sampai dengan urutan codeword yang paling kecil probabilitasnya. Apabila kita dapat memetakan setiap keluaran sumber dari probabiltas p ke sebuah codeword dengan panjang 1/p dan pada saat yang bersamaan dapat memastikan bahwa dapat decode kembali secara unik, kita dapat mencari rata-rata panjang kode H(x). Huffman Code dapat mendekodekan secara unik dengan H(x) minimum, dan optimum pada keunikan dari kode-kode tersebut. Algoritma dari Huffman coding adalah : 1. Pengurutan keluaran sumber dimulai dari probabilitas paling tinggi. 2. Menggabungkan 2 keluaran yang sama dekat kedalam satu keluaran yang probabilitasnya merupakan jumlah dari probabilitas sebelumnya. 3. Apabila setelah dibagi masih terdapat 2 keluaran, maka lanjut kelangkah berikutnya, namun apabila masih terdapat lebih dari 2, kembali ke langkah Memberikan nilai 0 dan 1 untuk kedua keluaran 5. Apabila sebuah keluaran merupakan hasil dari penggabungan 2 keluaran dari langkah sebelumnya, maka berikan tanda 0 dan 1 untuk codeword-nya, ulangi sampai keluaran merupakan satu keluaran yang berdiri sendiri. 20

17 Contoh penggunaan algoritma Huffman coding adalah: Jika kita memiliki kalimat: example of huffman coding, maka hal pertama yang harus dilakukan adalah menghitung probabilitas dari tiap-tiap simbol. Hasilnya dapat diilhat pada tabel II-3. Tabel II-3. Hasil perhitungan peluang kemunculan simbol. Simbol Probabilitas e 2/25 x 1/25 a 2/25 m 2/25 p 1/25 l 1/25 "spasi" 3/25 o 2/25 f 2/25 h 1/25 u 1/25 c 1/25 d 1/25 i 1/25 n 2/25 g 1/25 Dengan melakukan prosedur sesuai dengan algoritma Huffman, maka akan didapatkan Huffman tree sebagai berikut: 21

18 Gambar 2.7. Huffman tree. Dengan adanya Huffman tree seperti pada gambar 2.6, maka ketika mengkodekan codeword yang digunakan adalah codeword sesuai dengan posisi pada Hufman tree. Sebagai contoh, untuk spasi akan dikodekan dengan codeword 1000, sedangkan untuk huruf g akan dikodekan dengan codeword Data Training Set Data training set adalah data-data yang dipakai sebagai bahan untuk mengevaluasi kinerja program kompresi yang telah dibuat. Data-Data tersebut berasal dari sumber yang berbeda-beda dan memiliki skala penggunaan yang berbeda pula. Data yang paling baik untuk evaluasi adalah data yang telah dipilih dan distandardisasi berdasarkan ilmu probabilistik dan statistika. Data yang telah distandardisasi tersebut 22

19 akan menghasilkan keluaran yang lebih merepresentasikan kinerja suatu algoritma kompresi terhadap bentuk data yang banyak digunakan secara umum Corpus Corpus adalah kumpulan data standar yang digunakan dalam melakukan evaluasi terhadap suatu kompresi lossless secara empiris. Corpus diperlukan untuk memberikan bukti secara riil terhadap hasil analitis. Sebagai contoh, secara analitis algoritma LZ78 memberikan kompresi yang sangat baik untuk input yang banyak, tetapi dalam situasi praktis, kebanyakan file terlalu kecil, sehingga ketika dikompresi menggunakan LZ78 tidak memberikan hasil yang optimal. Menurut [4] cara terbaik untuk mengevaluasi suatu kompresi adalah dengan mengevaluasi setiap kemungkinan input dan mencatat keluaran input tersebut. Tetapi cara ini tidak mungkin untuk dilakukan karena memerlukan sistem komputasi yang banyak. Cara yang paling optimal dalam mengevaluasi suatu kompresi adalah dengan mengujikan data-data yang paling mungkin digunakan. Hal tersebutlah yang mendasari pembentukan suatu Corpus. Selain hal di atas, yang mendasari pembuatan Corpus adalah karena pada masa sebelum dibuatnya Corpus, kebanyakan orang menggunakan data milik pribadinya untuk mengevaluasi suatu algoritma kompresi. Menurut penulis hal ini memberikan hasil yang kurang objektif karena bisa saja data tersebut telah dimanipulasi untuk bekerja optimal menggunakan suatu algoritma kompresi tertentu Calgary Corpus Calgary Corpus adalah Corpus pertama yang dibuat. Calgary Corpus dikembangkan pada tahun 1980an, dan menjadi standar de facto pengujian kompresi pada tahun 1990an [5]. Data yang digunakan dalam Calgary Corpus lebih terdiri dari beberapa file teks sederhana, file gambar, dan beberapa source code program. Isi dari Calgary Corpus dapat dilihat pada table II-2. 23

20 Calgary Corpus dianggap sudah kadaluarsa karena data yang digunakan oleh Corpus tersebut sudah tidak sesuai lagi dengan data-data yang banyak dipakai saat ini. Sebagai contoh, saat ini banyak sekali file-file html yang digunakan dalam membentuk suatu situs web, tetapi file bentuk html tersebut tidak ada dalam Calgary Corpus. Alasan inilah yang mendasari dikembangkannya Corpus baru pada awal tahun 1997 yang diberi nama Canterbury Corpus. Meskipun demikian, Calgary Corpus tetap saja masih sering digunakan sebagai tambahan data acuan untuk benchmarking kinerja suatu algoritma kompresi. Tabel II-4. Daftar file Calgary Corpus File Akronim Kategori Ukuran (byte) obj1 obj1 Object code for VAX progc progc Source code in "C" progp progp Source code in PASCAL paper1 paper1 Technical paper progl progl Source code in LISP paper2 paper2 Technical paper trans trans Transcript of terminal session geo geo Geophysical data bib bib Bibliography (refer format) obj2 obj2 Object code for Apple Mac news news USENET batch file pic pic Black and white fax picture book2 book2 Non fiction book (troff format) book1 book1 Fiction book Total

21 Canterbury Corpus Seperti yang telah dijelaskan sebelumnya, Canterbury Corpus merupakan pengganti dari Calgary Corpus yang dianggap sudah kadaluarsa. Data-Data yang digunakan dalam Canterbury Corpus adalah data-data kontemporer yang sering dipakai di masa sekarang. Data-Data yang digunakan dalam Canterbury Corpus dalam kita lihat pada tabel II-3. Penjelasan tentang pemilihan data-data yang digunakan dalam Canterbury Corpus dijelaskan dalam [4]. Tabel II-5. File-File yang digunakan dalam Canterbury Corpus. File Akronim Kategori Ukuran (byte) alice29.txt text English text asyoulik.txt play Shakespeare cp.html html HTML source fields.c Csrc C source grammar.lsp list LISP source 3721 kennedy.xls Excl Excel Spreadsheet lcet10.txt tech Technical writing plrabn12.txt poem Poetry ptt5 fax CCITT test set sum SPRC SPARC Executable xargs.1 man GNU manual page Data Dari Archieve Comparison Test Total Archieve Comparison Test (ACT) [6] adalah suatu situs web yang menyediakan data-data benchmarking beberapa program kompresi yang populer digunakan. Data-Data ini merupakan suatu kumpulan dari hasil riset yang dilakukan oleh seorang Doktor yang bernama Jeff Gilchrist dari Universitas Carleton, Ottawa, Kanada. Bahan-Bahan yang digunakan diantaranya adalah: Corpus Calgary. Corpus Canterbury. 25

22 File teks yang telah distandardisasi menurut ACT. File gambar yang telah distandardisasi ACT. Di bawah ini akan dibahas tentang data-data acuan yang digunakan yang belum dibahas sebelumnya dalam Tugas Akhir ini Kompresi Teks Data ini adalah data yang dipakai untuk kompresi teks pada [6], yang terdiri dari tiga buah file teks. Atribut data tersebut dapat kita lihat selengkapnya pada tabel II-4. Tabel II-6. File benchmarking teks yang digunakan ACT File Akronim Isi File Ukuran (byte) 1musk10.txt musk The Three Musketeers anne11.txt anne Anne of Green Gables world95.txt world CIA World Fact Book Kompresi TIFF Total Data ini adalah data yang dipakai oleh ACT untuk benchmarking program kompresi terhadap gambar-gambar yang berekstensi.tiff. Atribut lengkap dari file gambar yang digunakan dapat kita lihat pada tabel II-5, sedangkan isi file tersebut dapat kita lihat pada gambar Tabel II-7. Atribut file gambar yang digunakan oleh ACT File Ukuran Hasil Kompresi Rasio clegg.tiff frymire lena monarch peppers sail serrano tulips Total

23 Gambar Monarch.TIFF [6]. Gambar 2.8. Clegg.TIFF [6]. Gambar 2.9. Frymire.TIFF [6]. Gambar Peppers.TIFF [6]. Gambar Sail.TIFF [6]. Gambar 2.10 Lena.TIFF [6]. 27

24 Gambar Serrano.TIFF [6]. Gambar Tulips.TIFF [6] Data Milik Penulis Selain data-data yang telah disebutkan di atas, penulis juga menggunakan beberapa data milik penulis. Tujuannya adalah untuk mengevaluasi kinerja algoritma LZSS secara spesifik untuk melakukan kompresi data-data yang telah penulis kelompokkan File Teks File teks milik penulis yang akan digunakan di dalam Tugas Akhir ini telah penulis standarkan dalam format Microsoft Word. File-File yang memiliki format selain format Word telah penulis konversikan terlebih dahulu. Selanjutnya, file-file tersebut penulis kelompokkan berdasarkan isinya. Kelompok-Kelompok tersebut adalah: Buku teknik. Buku non-teknik. Artikel bahasa Indonesia. Kelompok buku teknik memiliki ciri-ciri sebagai berikut: Ukuran file besar. Frekuensi kemunculan gambar tinggi. 28

25 Menggunakan bahasa Inggris. Kelompok buku non-teknik memiliki ciri-ciri sebagai berikut: Ukuran file lebih kecil daripada buku teknik. Frekuensi kemunculan gambar rendah. Menggunakan bahasa Inggris. Kelompok artikel bahasa Indonesia memiliki ciri sebagai berikut: Ukuran file relatif sedang. Frekuensi kemunculan gambar lebih kecil dari buku teknik tetapi lebih besar dari buku non-teknik. Menggunakan bahasa Indonesia File Gambar File gambar yang penulis gunakan dalam Tugas Akhir ini memiliki format yang sama. Hal ini penulis lakukan agar perlakuan algoritma LZSS terhadap semua file sama sehinga evaluasi untuk mengetahui jenis file gambar yang memberikan kompresi yang optimal oleh algortma LZSS dapat dilakukan. File-File gambar yang penulis gunakan tidak penulis kelompokkan. Melakukan pengelompokkan file gambar secara gamblang berdasarkan ciri tertentu tidak memungkinkan untuk penulis lakukan karena kesamaan karakteristik pada file gambar sangat sulit untuk ditemukan. 2.4 Program Kompresi Existing Pada Tugas Akhir ini, benchmarking kinerja algoritma LZSS dilakukan terhadap beberapa program kompresi yang banyak digunakan secara luas di masyarakat. Selanjutnya akan dijelaskan lebih jauh tentang program-program kompresi yang digunakan pada Tugas Akhir ini. 29

26 2.5.1 WinZip WinZip adalah salah satu program kompresi yang banyak digunakan secara luas di masyarakat. Program ini dikembangkan oleh Nico Mak pada tahun Winzip dapat berkerja di lingkungan sistem operasi Microsoft Windows maupun Apple Macintosh. File-File hasil kompresi WinZip memiliki ekstensi.zip. Ketika melakukan kompresi, program WinZip menggunakan empat buah algoritma yang digunakan secara kaskade. Algoritma tersebut adalah LZH, LZW, Shannon-Fano, dan Huffman Coding. Pada Tugas Akhir ini, program WinZip bukanlah program yang dijadikan pembanding utama, melainkan hanya diikut sertakan sebagai bahan pertimbangan tambahan WinRAR WinRAR adalah sebuah program kompresi yang dapat digunakan di lingkungan sistem operasi Microsoft Windows maupun UNIX. Program ini dibuat oleh Eugene Roshal pada tahun Untuk melakukan kompresinya, WinRAR menggunakan algoritma kompresi LZ77 dan Huffman Coding secara kascade. Pada Tugas Akhir ini, program WinRAR bukanlah program yang dijadikan pembanding utama, melainkan hanya diikut sertakan sebagai bahan pertimbangan tambahan Compress Compress adalah program kompresi yang menggunakan algoritma kompresi LZC, yaitu sebuah modifikasi algoritma LZW yang menggunakan pointer yang besarnya berubah-ubah. Algoritma yang digunakan dalam program ini telah dipatenkan pada tahun 1983 oleh Sperry Research Center. Program ini biasanya digunakan untuk mengopresi file-file tar pada lingkungan sistem operasi UNIX. File hasil kompresi menggunakan Compress memiliki ekstensi.z. 30

27 Program Compress ini merupakan program pembanding utama karena sama-sama menggunakan satu jenis kompresi seperti program LZSS yang penulis gunakan Gzip Gzip adalah suatu program kompresi yang dirancang untuk menggantikan program kompresi Compress. Kelebihan Gzip dibandingkan dengan Compress adalah dalam kinerja kompresinya dan tidak menggunakan algoritma yang telah dipatenkan. Gzip dikembangkan oleh duet Jean-loup Gailly dan Mark Adler pada tahun File hasil kompresi menggunakan Gzip memiliki ektensi.gz. Gzip lebih banyak digunakan dalam lingkungan sistem operasi UNIX dan varianvariannya untuk mengopresi file-file tar. Program Gzip menggunakan dua buah algoritma kompresi, yaitu algoritma Shannon-Fano dan Huffman Coding Prediction by Partial Matching Prediction by Partial Matching (PPM/PPMC) adalah sebuah teknik adaptive statistical data compression yang berdasarkan pada context modelling dan teknik prediksi. Model PPM menggunakan seperangkat simbol pada deretan simbol yang belum dikompresi untuk memprediksikan deretan simbol selanjutnya yang akan dikompresi. Algoritma PPM ditemukan dan dikembangkan oleh John Cleary dan Ian Witten. Selanjutnya, algoritma ini diimplementasikan menjadi suatu program kompresi oleh Alistair Moffat pada bulan Juli tahun Pack Program pack ini adalah sebuah program kompresi yang biasa digunakan pada sistem operasi UNIX. Program ini menggunakan algoritma Huffman coding dalam melakukan kompresi. Program ini merupakan salah satu program utama 31

28 yang dijadikan acuan dalam benchmarking terhadap algoritma LZSS karena sama-sama menggunakan sebuah algoritma dalam proses kompresinya. 32

BAB IV EVALUASI KINERJA ALGORITMA LZSS

BAB IV EVALUASI KINERJA ALGORITMA LZSS BAB IV EVALUASI KINERJA ALGORITMA LZSS 4.1 Kompresi Maksimal Algoritma LZSS 4.1.1 Kompresi Maksimal Data Teks Untuk mencari bentuk data yang dapat memberikan hasil kompresi LZSS yang optimal, kita harus

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

EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL

EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL Prima Even Ramadhan 13203076/Teknik Telekomunikasi PROGRAM STUDI TEKNIK ELEKTRO SEKOLAH TEKNIK

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

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

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

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

ANALISIS KOMPRESI DATA TEKNIK LOSSLESS COMPRESSION

ANALISIS KOMPRESI DATA TEKNIK LOSSLESS COMPRESSION ANALISIS KOMPRESI DATA TEKNIK LOSSLESS COMPRESSION MENGGUNAKAN DATA CALGARY CORPUS 1. Latar Belakang Irwan Munandar Balai Pendidikan dan Pelatihan Tambang Bawah Tanah Kompresi data merupakan suatu upaya

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

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 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

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 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

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

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 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

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. 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

[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 Teknik Dictionary memanfaatkan kelompok simbol, kata, dan

Lebih terperinci

1. PENDAHULUAN 1.1. Latar Belakang Masalah

1. PENDAHULUAN 1.1. Latar Belakang Masalah 1. PENDAHULUAN 1.1. Latar Belakang Masalah Kompresi data merupakan suatu proses pengubahan ukuran suatu file atau dokumen menjadi lebih kecil secara ukuran. Berkembangnya teknologi hardware dan software

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

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

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

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

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

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 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 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

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 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

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

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

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

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 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

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 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 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

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

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

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

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

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

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

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

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

IMPLEMENTASI DAN ANALISIS PERBANDINGAN ANTARA PENGKODEAN LZ78 DAN SHANNON FANO PADA KOMPRESI DATA TEKS IMPLEMENTASI DAN ANALISIS PERBANDINGAN ANTARA PENGKODEAN LZ78 DAN SHANNON FANO PADA KOMPRESI DATA TEKS Nita Christina Saputro, Sri Suwarno, R.Gunawan Santosa Jurusan Teknik Informatika. Fakultas Teknik

Lebih terperinci

ANALISIS BEBERAPA TEKNIK CODING RAHMAD FAUZI, ST, MT JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA BAB I PENDAHULUAN

ANALISIS BEBERAPA TEKNIK CODING RAHMAD FAUZI, ST, MT JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA BAB I PENDAHULUAN ANALISIS BEBERAPA TEKNIK CODING RAHMAD FAUZI, ST, MT JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA BAB I PENDAHULUAN Sistem komunikasi dirancang untuk mentransmisikan informasi 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

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 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

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

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

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

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

[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 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

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

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

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 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

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

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

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 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

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

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

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

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 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

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Pertumbuhan besarnya data yang digunakan pada teknologi informasi saat ini berkembang sangat cepat yang sangat mempengaruhi media penyimpanan dan transmisi data. Hal

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

Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC

Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC Emil Fahmi Yakhya - 13509069 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

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

SOLUSI QUIZ#2. Soal: Untuk nomor 1-3, diketahui pesan string jaya berjaya

SOLUSI QUIZ#2. Soal: Untuk nomor 1-3, diketahui pesan string jaya berjaya Untuk nomor -3, diketahui pesan string jaya berjaya. Dengan menggunakan Standard Huffman coding, codeword untuk simbol spasi adalah 0 2. Redundancy yang diperoleh hasil pengkodean huffman untuk string

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

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

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

Kompresi dan Dekompresi File Dengan Algoritma LZSS

Kompresi dan Dekompresi File Dengan Algoritma LZSS Kompresi dan Dekompresi File Dengan Algoritma LZSS Kian Wie 1) Adang Risuta 2) STMIK IBBI Medan Kampus Topaz, Jalan Damar No. 9G Medan Telepon (061) 415-3375 Email: kianwie@yahoo.com.sg 1 1), 2) Abstrak

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

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

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

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 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

1. Pendahuluan. 1.1 Latar Belakang Masalah

1. Pendahuluan. 1.1 Latar Belakang Masalah 1. Pendahuluan 1.1 Latar Belakang Masalah Jumlah pengguna komputer semakin meningkat. Peningkatan jumlah pengguna komputer mengakibatkan penggunaan data digital juga semakin meningkat. Salah satu media

Lebih terperinci

TEKNIK KOMPRESI LOSSLESS

TEKNIK KOMPRESI LOSSLESS TKE 4230 MULTIMEDIA TEKNIK KOMPRESI LOSSLESS Herman Tolle, ST., MT. emang@brawijaya.ac.id Kompresi Memampatkan / mengecilkan raw data Kompresi Multimedia: memampatan raw data multimedia Kompresi multimedia

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

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

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

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

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

PERBANDINGAN KINERJA ALGORITMA KOMPRESI HUFFMAN, LZW, DAN DMC PADA BERBAGAI TIPE FILE

PERBANDINGAN KINERJA ALGORITMA KOMPRESI HUFFMAN, LZW, DAN DMC PADA BERBAGAI TIPE FILE PERBANDINGAN KINERJA ALGORITMA KOMPRESI HUFFMAN, LZW, DAN DMC PADA BERBAGAI TIPE FILE Linawati dan Henry P. Panggabean Jurusan Ilmu Komputer, FMIPA Universitas Katolik Parahyangan Bandung 40141 e-mail

Lebih terperinci

KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN

KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN Irwan Wardoyo 1, Peri Kusdinar 2, Irvan Hasbi Taufik 3 Jurusan Teknik Informatika, Sekolah Tinggi Teknologi Telkom Jl. Telekomunikasi, Bandung 1 irwan_hi_tech@yahoo.com,

Lebih terperinci

IMPLEMENTASI ALGORITMA KOMPRESI LZ77 PADA SMARTPHONE BLACKBERRY

IMPLEMENTASI ALGORITMA KOMPRESI LZ77 PADA SMARTPHONE BLACKBERRY IMPLEMENTASI ALGORITMA KOMPRESI LZ77 PADA SMARTPHONE BLACKBERRY Tommy Gunardi Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganesha 10, Bandung

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 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG Kemajuan teknologi memicu kebutuhan informasi yang semakin besar. Sayangnya kebutuhan informasi yang besar ini berdampak pada kebutuhan storage (media penyimpanan)

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

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

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

PEMAMPATAN CITRA (IMA

PEMAMPATAN CITRA (IMA PEMAMPATAN CITRA (IMAGE COMPRESSION) PENGERTIAN Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang terdapat

Lebih terperinci