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 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. 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 . 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 (Sihombing, 2010)
Universitas Sumatera Utara
6
Data merupakan salah satu hal utama yang dikaji dalam masalah teknologi informasi. Penggunaan dan pemanfaatan data sudah mencakup banyak aspek. Berikut adalah pembahasan definisi data berdasarkan berbagai sumber. Data menggambarkan sebuah representasi fakta yang tersusun secara terstruktur. Selain deskripsi dari sebuah fakta, data dapat pula merepresentasikan suatu objek sebagaimana bahwa “Data adalah nilai yang merepresentasikan deskripsi dari suatu objek atau kejadian (event) “ Dengan demikian dapat dijelaskan kembali bahwa data merupakan suatu objek, kejadian, atau fakta yang terdokumentasikan dengan memiliki modifikasi terstruktur untuk suatu atau beberapa entitas (Sarifah, 2010).
2.2
Text File Text file (disebut juga dengan flat file) adalah salah satu jenis file komputer yang tersusun dalam suatu urutan baris (Text File). Data teks biasanya diwakili oleh 8 bit kode ASCII (atau EBCDIC). Akhir dari sebuah file teks sering ditandai dengan penempatan satu atau lebih karakter – karakter khusus yang dikenal dengan tanda end-of-file setelah baris terakhir di suatu file teks. File teks biasanya mempunyai jenis MIME (Multipurpose Internet Mail Extension) "text/plain", biasanya sebagai informasi tambahan yang menandakan suatu pengkodean. pada sistem operasi Windows, suatu file dikenal sebagai suatu file teks jika memiliki extention misalnya txt, rtf, doc dan lain – lain (Sarifah, 2010).
2.3
Teknik Kompresi Kompresi mempunyai bermacam-macam jenis kompresi antara lain adalah sebagai berikut:
2.3.1 Lossless Compression Algoritma pengkompresi ini dapat mengembalikan data yang sudah dikompresi sama atau sesuai dengan data asli (data sebelum dikompresi). Contoh algoritma ini dapat ditemukan pada pengkompresian teks (Nurjaman, 2011). Prinsip dasar eksploitasi data statistik citra: a. Menghasilkan citra hasil kompresi yang tepat sama dengan citra semula. b. Dalam proses kompresinya, tidak ada informasi yang hilang. c. Rasio kompresi sangat rendah / terbatas. d. Contoh aplikasi: citra medis, citra biner (facsimile), dll
Universitas Sumatera Utara
7
Algoritma kompresi lossless dibagi dalam dua kategori, yaitu 1. Dictionary-based Technique Menghasilkan file kompresi yang berisi fixed-length code (12 – 16 bits) yang merepresentasikan sequence bytes file asli, misalnya Run-Length Encoding dan LZW encoding. 2. Variable Length Coding Merepresentasikan karakter yang sering muncul dalam bit yang lebih kecil, misalnya Dynamic Markov Compression, Huffman Coding. Contoh format file dengan kompresi lossless: GIF, PCX, BMP, TIFF, TRG, PGM.
2.3.2 Lossy Compression
Algoritma pengkompresi ini bersifat terbalik dengan algoritma lossless karena tidak dapat mengembalikan data yang sudah dikompresi sesuai atau sama dengan data asli (data sebelum dikompresi). Contoh algoritma ini misalnya pada pengkompresian gambar, suara dan video (Nurjaman, 2011). Prinsip atau ciri-ciri umum pada lossy compression adalah: 1. Menghasilkan citra hasil kompresi yang hampir sama dengan citra semula. Dalam proses kompresinya, ada informasi yang hilang namun dalam batas toleransi tertentu. 2. Rasio kompresi tinggi. 3. Contoh aplikasi: transmisi citra pada bandwidth saluran komunikasi terbatas. 4. Algoritma kompresi lossy telah banyak dikembangkan, diantaranya menggunakan kuantisasi, fraktal, wavelet, dll. 5. Contoh format file dengan kompresi lossy : JPEG, MPEG.
2.4
Kompresi Data
Kompresi berarti memampatkan/mengecilkan ukuran. Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem encoding tertentu (Taryani, 2008).
Universitas Sumatera Utara
8
Pemampatan merupakan salah satu dari bidang teori informasi yang bertujuan untuk menghilangkan redudansi dari sumber. Pemampatan bermanfaat dalam membantu mengurangi konsumsi sumber daya yang mahal, seperti ruang hard disk atau pemindahan data melalui internet (Razi, 2009). Data dan informasi adalah dua hal yang berbeda. Pada data terkandung suatu informasi. Namun tidah semua bagian data terkait dengan informasi tersebut atau pada suatu data terdapat bagian-bagian data yang berulang untuk mewakili informasi yang sama. Bagian data yang tidak terkait atau bagian data yang berulang tersebut disebut dengan data berlebihan (redundancy data). Tujuan daripada kompresi data tiada lain adalah untuk mengurangi data berlebihan tersebut sehingga ukuran data menjadi lebih kecil dan lebih ringan dalam proses transmisi (Putra, 2010). Kompresi citra (image compression) adalah proses untuk meminimalisasi jumlah bit yang merepresentasikan suatu citra sehingga ukuran data citra menjadi lebih kecil. Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim yang melakukan kompresi dan pihak penerima memiliki aturan yang sama dalam hal kompresi data. Pihak pengirim harus menggunakan algoritma kompresi data yang sudah baku dan pihak penerima juga menggunakan teknik dekompresi data yang sama dengan pengirim sehingga data yang diterima dapat dibaca kembali dengan benar. Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan bandwidth (Taryani, 2008). Dalam teknik kompresi data, redundansi dari data menjadi masalah utama. Kompresi data ditujukan untuk mereduksi penyimpanan data yang redundan atau dalam istilah lain kompresi citra digital dilakukan untuk dengan cara meminimalkan jumlah bit yang diperlukan untuk merepresentasikan suatu data citra, namun seringkali kualitas gambar yang dihasilkan jauh lebih buruk dari aslinya karena keinginan kita untuk memperoleh rasio kompresi yang tinggi. Secara mendasar standar teknik kompresi gambar memiliki 2 teknik kompresi yaitu teknik kompresi secara lossy dan lossles. Untuk teknik kompresi secara lossy ada sebagian dari informasi yang hilang dalam gambar tersebut sehingga jika dilakuakan proses edit akan susah dilakukan. Sedangkan teknik kompresi secara lossless tidak menghilangkan informasi sedikitpun.
Universitas Sumatera Utara
9
Secara umum proses kompresi dan dekompresi dapat diliha pada gambar di bawah ini:
Kompresi Data Hasil Kompresi
Data Asli Dekompresi Ukurn Data Hasil
Ukuran Data Hasil Kompresi
Gambar 2.1 Alur Kompresi-Dekompresi Data (Sarifah, 2010).
2.5
Kompresi Citra
Kriteria yang digunakan untuk mengukur pemampatan citra adalah: 1. Waktu kompresi dan waktu dekompresi Proses kompresi merupakan proses pengodekan citra (encode) sehingga diperoleh citra dengan representasi kebutuhan memori yang minimum. 2. Kebutuhan memori Metode kompresi yang baik adalah metode kompresi yang mampu mengompresi file citra menjadi file yang berukuran paling minimal. 3. Kualitas pemapatan (fidelity) Metode
kompresi
yang
baik
adalah
metode
kompresi
yang
mampu
mengendalikan citra hasil kompresi menjadi citra semula tanpa kehilangan informasi apa pun. 4. Format keluaran Format citra hasil pemapatan yang baik adalah yang cocok dengan kebbutuhan pengiriman dan penyimpanan data (Sutoyo, et al. 2009).
2.6 Metode Kompresi Data Organisasi–organisasi yang mengoperasikan jaringan komputer sering kali mengharapkan dapat menekan biaya pengiriman data. Biaya pengiriman itu sangat tergantung dengan banyaknya byte data yang dikirimkan. Oleh karena itu, dengan melakukan kompresi terhadap data, akan dapat menghemat biaya pengiriman. Istilah kompresi tersebut diterjemahkan dari kata bahasa Inggris “compression” yang berarti pemampatan. Dalam bidang teknik, kompresi berarti proses
Universitas Sumatera Utara
10
pemampatan sesuatu yang berukuran besar sehingga menjadi kecil. Dengan demikian, kompresi data berarti proses untuk pemampatan data agar ukurannya menjadi lebih kecil. Pemampatan ukuran berkas melalui proses kompresi hanya diperlukan sewaktu berkas tersebut akan disimpan dan atau dikirim melalui media transmisi atau telekomunikasi. Apabila berkas tersebut akan ditampilkan lagi pada layar monitor, maka data yang terkompresi tersebut harus dikembalikan pada format semula agar dapat dibaca kembali. Proses mengembalikan berkas yang dimampatkan ke bentuk awal inilah yang disebut dekompresi. Satuan yang cukup penting dalam kompresi data adalah compression ratio yang menggambarkan seberapa besar ukuran data setelah melewati proses kompresi dibandingkan dengan ukuran berkas yang asli. Beberapa teknik kompresi data yang telah banyak digunakan adalah Bit Mapping, Half byte packing, Huffman, Arithmatic Encoding, Run Length Encoding (Santi, 2010).
2.7 Dekompresi Data Sebuah data yang sudah dikompres tentunya harus dapat dikembalikan lagi kebentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah data yang terkompres diperlukan cara yang berbeda seperti pada waktu proses kompres dilaksanakan. Jadi pada saat dekompres terdapat catatan header yang berupa bytebyte yang berisi catatan mengenai isi dari file tersebut. Catatan header akan menuliskan kembali mengenai isi dari file tersebut, jadi isi dari file sudah tertulis oleh catatan header sehingga hanya tinggal menuliskan kembali pada saat proses dekompres. Proses dekompres dikatakan sempurna apabila file kembali kebentuk aslinya (Santi, 2010).
2.8
Dynamic Markov Compression
Algoritma ini awalnya dikembangkan untuk data biner, contoh umum data biner adalah kode mesin (executable) file, gambar (baik monokromatik dan warna ), dan suara. Setiap state dari finite-state mesin DMC (atau Model DMC, dalam bagian ini kata-kata "mesin" dan "model " digunakan secara bergantian) membaca bit dari inputan, memberikan sebuah probabilitas didasarkan pada apa yang telah dihitung
Universitas Sumatera Utara
11
sebelumnya, dan beralih ke salah satu dari dua state lain tergantung pada apakah bit inputan adalah 1 atau 0. Algoritma ini dimulai dengan mesin kecil (mungkin sesederhana hanya satu state) dan menambahkan states itu didasarkan pada input. Dengan demikian adaptif. Segera setelah state baru ditambahkan ke mesin,maka akan dimulai perhitungan bit dan menggunakannya untuk menghitung probabilitas untuk 0 dan 1. Bahkan dalam bentuk yang sederhana, mesin bisa tumbuh sangat besar dan dengan cepat mengisi seluruh memori yang tersedia. Salah satu keuntungan menggunakan data biner adalah encoder aritmatika dapat dibuat sangat efisien jika ia harus menggunakan hanya dengan dua symbol (Salomon, 2004). Algoritma DMC adalah algoritma yang memanfaatkan teknik pemodelan yang didasarkan pada model finite-state (proses Markov). Algoritma ini dikembangkan oleh Gordon Cormack dan Horspool Nigel. Algoritma DMC menggunakan predictive arithmetic coding yang mirip dengan PPM (Prediction by Partian Matching) sehingga memungkinkan kemampuan kompresi file yang tinggi (Taryani, 2008). DMC
membuat
probabilitas
dari
karakter
biner
berikutnya
dengan
menggunakan pemodelan finite-state, dengan model awal berupa mesin FSA dengan transisi 0/1 dan 1/1, seperti ditunjukkan pada Gambar 2.2. DMC merupakan teknik kompresi yang adaptif, karena struktur mesin finite-state berubah seiring dengan pemrosesan file. Kemampuan kompresinya tergolong amat baik, meskipun waktu komputasi yang dibutuhkan lebih besar dibandingkan metode lain
0/1
1
1/1
Gambar 2.2 Model Awal DMC (Taryani, 2008). Pada DMC, simbol alfabet input diproses per bit, bukan per byte. Setiap output transisi menandakan berapa banyak simbol tersebut muncul. Penghitungan tersebut dipakai untuk memperkirakan probabilitas dari transisi. Contoh: pada Gambar 2.3,
Universitas Sumatera Utara
12
transisi yang keluar dari state 1 diberi label 0/5, artinya bit 0 di state 1 terjadi sebanyak 5 kali.
2
0/5 0/3
1/2
1/4
1
3
1/1
0/2 1/2 0/3 4
Gambar 2.3 Sebuah Model yang Diciptakan Oleh Metode DMC (Taryani, 2008). Secara umum, transisi ditandai dengan 0/p atau 1/q dimana p dan q menunjukkan jumlah transisi dari state dengan input 0 atau 1. Nilai probabilitas bahwa input selanjutnya bernilai 0 adalah p/(p+q) dan input selanjutnya bernilai 1 adalah q/(p+q). Lalu bila bit sesudahnya ternyata bernilai 0, jumlah bit 0 di transisi sekarang ditambah satu menjadi p+1. Begitu pula bila bit sesudahnya ternyata bernilai 1, jumlah bit 1 di transisi sekarang ditambah satu menjadi q+1. Jika frekuensi transisi dari suatu state t ke state sebelumnya, yaitu state u, sangat tinggi, maka state t dapat di-cloning. Ambang batas nilai cloning harus disetujui oleh encoder dan decoder. State yang di-cloning diberi simbol t’. Aturan cloning adalah sebagai berikut : a. Semua transisi dari state u dikirim ke state t’. Semua transisi dari state lain ke state t tidak berubah. b. Jumlah transisi yang keluar dari t’ harus mempunyai rasio yang sama (antara 0 dan 1) dengan jumlah transisi yang keluar dari t. c. Jumlah transisi yang keluar dari t dan t’ diatur supaya mempunyai nilai yang sama
Universitas Sumatera Utara
13
d. dengan jumlah transisi yang masuk.
A
0
C
D
0
1
1
B
E
a. Sebelum Cloning
A
0
C
0
B
1
C
D
0
1
1
E
b. Setelah Cloning
Gambar 2.4 State yang di-cloning (Taryani, 2008).
Universitas Sumatera Utara
14
2.9 2.9.1
Penelitian Yang Relevan Emil Yayan Taryani dari Universitan Komputer Indonesia ini meninjau algoritma kompresi DMC (Dynamic Markov Compression, dari penelitian didapatkan kesimpulan bahwa Kompresi data dengan DMC merupakan teknik kompresi yang tergolong amat baik, meskipun waktu komputasi yang dibutuhkan lebih besar dibandingkan dengan metode lain (Taryani, 2008).
2.9.2
Andre Pratama dari Universitas Sumatera Utara ini membandingkan tiga algoritma untuk mengetahui algoritma mana yang memiliki kinerja tertinggi dalam memampatkan file text dan paramater kinerja diukur dari kompleksitas algoritma, rasio kompresi, dan berapa lama waktu yang diperlukan untuk proses kompresi (Pratama, 2010).
Universitas Sumatera Utara