BAB 1 PENDAHULUAN 1.1 Latar Belakang Citra merupakan representasi digital dari objek gambar, yang tidak lepas dari kebutuhan manusia. Pada umumnya representasi citra membutuhkan memori yang cukup besar, khususnya citra warna. Hal ini tentu sangat mempengaruhi ketersediaan tempat (space) maupun pengolahan data khususnya data citra dalam perkembangan ilmu pengetahuan khususnya dibidang ilmu komputer. Permasalahan lain yang sering timbul dalam pengolahan citra dengan ukuran besar adalah ketika dilakukan proses transmisi (pengiriman gambar) melalui media komunikasi. Ini tentu akan memperlambat waktu pengiriman. Untuk itu perlu dikembangkan aplikasi untuk kompresi citra yang bertujuan untuk minimalisasi memori. Beberapa mode kompresi telah dikembangkan seperti model Huffman, Shanon Fano, Zip, Elias Gamma dan lain sebagainya. Prinsip umum yang digunakan untuk kompresi citra ini adalah mengurangi duplikasi data dalam citra yang sering terjadi, sehingga memori yang digunakan untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula. Dalam Tugas Akhir ini penulis menggunakan metode Run Length Encoding (RLE) untuk kompresi citra. Metode ini digunakan untuk mengompresi citra yang memiliki kelompok-kelompok pixel yang berderajat keabuan yang sama. Kompresi citra dengan metode Run Length Encoding dilakukan dengan membuat rangkaian pasangan nilai (P,Q) untuk setiap baris pixel, dimana nilai P menyatakan nilai derajat keabuan, sedangkan nilai Q menyatakan jumlah pixel berurutan yang memiliki derajat keabuan tersebut. Kompresi metode RLE adalah menjumlahkan pengulangan byte / karakter yang sama berturut-turut dan menampilkan hanya sebuah karakter yang mengalami pengulangan disertai dengan nilai jumlah pengulangan byte / karakter, sedangkan untuk byte / karakter yang tidak terjadi pengulangan maka karakter tersebut tidak akan dikompresi, misalkan pada kata aaab yang terjadi pengulangan byte / karakter a sebanyak 3 kali dan byte / karakter b tidak mengalami perulangan sehingga kata tersebut akan dikompresi menjadi a3b. Contoh lain, pada pesan aaaabccccbbbbabbbb, karakter pertama a, karakter kedua a, karakter ketiga a, karakter keempat a, dan karakter kelima b, dikarenakan pada karakter kelima tidak sama dengan karakter sebelumnya, seehingga 4 karakter pertama yang mengalami perulangan akan dijumlahkan semuanya dan nilai yang dijumlahkan adalah banyaknya karakter yang akan diulang, sehingga output keempat karakter yang pertama setelah dikompresi adalah hanya sebuah karakter dan diikuti dengan nilai perulangan yaitu a4, setelah dilakukan kompresi 4 karakter
pertama, akan dilanjutkan ke karakter berikutnya yaitu karakter kelima b, kemudian karakter keenam c, dikarenakan karakter keenam tidak sama dengan karakter kelima, dan karakter kelima tidak mengalami perulangan sehingga karakter yang tidak mengalami perulangan akan ditambahkan kepada pesan a4, sehingga menjadi a4b, dan seterusnya sehingga pesan aaaabccccbbbbabbbb setelah dikompresi akan menjadi a4bc4b4ab4, dapat diperhatikan bahwa pesan aaaabccccbbbbabbbb yang berukuran 18 byte / karakter dapat dilihat dari tabel dibawah. Tabel 1.1 Metode Kompresi RLE No Simbol Masukan Simbol Keluaran Total 1 aaaa a 4 2 b b 1 3 cccc c 4 4 bbbb b 4 5 a a 1 6 bbbb b 4 Dekompresi metode RLE adalah dengan menguraikan nilai angka menjadi karakter yang diikuti nilai angka sebanyak nilai angka tersebut, misalnya kata a4b, nilai 4 menyatakan banyaknya huruf a yang diulang, sehingga setelah didekompresi kata a4b akan menjadi aaaab yang dapat dilihat dari tabel dibawah. Tabel 1.2 Metode Dekompresi RLE No Simbol Masukan Simbol Keluaran Total 1 a 4 aaaa 2 b 1 b 3 c 4 cccc 4 b 1 a 5 a 1 a 6 b 4 bbbb Untuk mencatat tiap-tiap byte nilai yang diikuti maka digunakan suatu counter (pencatat jumlah banyaknya data yang keluar), counter menandakan berapa banyak pengulangan byte yang tercatat. Metode kompresi Run Length Encoding mempunyai suatu hasil yang baik untuk file yang besar, sehingga untuk mengkompresi data yang kecil tidak menguntungkan. Algoritma metode kompresi RLE hanya efisien dengan data yang berisi kelompok data (byte / karakter) yang berulang dan dapat digunakan pada file teks dimana file teks berisi banyak kelompok data yang berupa spasi atau tabulator, dan juga dapat diterapkan untuk citra (gambar) yang berisi area hitam atau putih yang besar. Metode kompresi Run Length Encoding digunakan untuk format file TIFF (.tiff), PDF (.pdf) dan Bitmap dengan area B/W yang besar (.bmp).
1.2 Rumusan Masalah Berdasarkan latar belakang diatas, maka permasalahan dalam tugas akhir ini dapat dirumuskan menjadi bagaimana memilih data citra sebagai input file yang akan dikompresi dan didekompresi, sehingga dapat menampilkan citra serta ukurannya sebelum dan sesudah kompresi. Selain itu melakukan pengelompokan nilai derajat keabuan pixel yang sama dari citra dan menyusun secara berurut agar dapat dikompresi dengan metode Run Length Encoding, serta melakukan proses dekompresi dengan mengembalikan nilai derajat keabu-abuan yang sama dari citra yang sudah dikompresi. 1.3 Batasan Masalah Adapun batasan masalah pada penelitian ini adalah: 1. Jenis file input adalah bertipe jpg dan bmp. 2. Jenis file output adalah memiliki ekstension *.rle. 3. Variansi pixel gambar maksimum 24 bit. 4. File yang sudah dikompresi harus didekompresi terdahulu agar file bisa ditampilkan. 5. Ukuran citra yang dikompresi adalah 80 x 80 pixel. 1.4 Tujuan Penelitian Adapun tujuan penelitian ini adalah menggunakan metode Run Length Encoding untuk kompresi citra agar file citra yang berukuran besar bisa diperkecil dan untuk mengetahui cara kerja algoritma Run Length Encoding dan menganalisis hasil kerja metode Run Length Encoding dalam mengompresi data citra. 1.5 Manfaat Penelitian Aplikasi kompresi file citra ini diharapkan dapat memperkecil ukuran file citra sehingga dapat menghemat space dan mempercepat proses transmisi. Selain itu, adapun manfaat dari penelitian ini adalah menambah pemahaman dan pengetahuan penulis mengenai sistem pengolahan citra khususnya kompresi dan juga menambah pengalaman penulis dalam membangun sistem pengolahan citra dengan algoritma Run Length Encoding.
1.6 Metode Penelitian Adapun metodologi penelitian yang digunakan untuk menyelesaikan tugas akhir ini adalah: 1. Studi literatur yang bersumber dari textbook dan download internet. 2. Mengkaji algoritma Run Length Encoding. 3. Merancang sistem dan implementasi algoritma ke dalam program menggunakan bahasa pemrograman Visual Basic 6.0 4. Menguji sistem yang dirancang. 5. Analisis hasil. 6. Membuat laporan akhir. 1.7 Sistematika Penulisan Dalam penyusunan skripsi ini, penulis menggunakan sistematika yang membagi skripsi menjadi beberapa bagian utama,yaitu: BAB 1 : PENDAHULUAN Pada bab ini penulis memasukkan bahasan mengenai latar belakang pemilihan judul skripsi Perancangan Perangkat Lunak Kompresi File Citra Dengan Menggunakan Algoritma Run Length Encoding, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan. BAB 2 : LANDASAN TEORI Bagian ini berisi dasar teori yang digunakan untuk memahami permasalahan yang berkaitan dengan pengertian citra, format citra, kompresi dan dekompresi citra, dan algoritma yang digunakan dalam pembuatan aplikasi ini. BAB 3 : ANALISIS DAN PERANCANGAN Bab ini terdiri dari analisis mengenai algoritma yang digunakan beserta cara kerjanya. Selain itu juga terdapat perancangan antarmuka (interface) dari aplikasi kompresi citra dengan menggunakan algoritma Run Length Encoding. BAB 4 : IMPLEMENTASI DAN PENGGUNAAN
Bab ini membahas tentang spesifikasi kebutuhan perangkat keras (hardware) dan kebutuhan perangkat lunak (software) dari sistem. Selanjutnya juga terdapat cara kerja dan tampilan dari perangkat lunak yang mengkompresi citra serta menampilkan hasil pengujian dari kinerja aplikasi ini. BAB 5 : KESIMPULAN DAN SARAN Membuat kesimpulan-kesimpulan yang merupakan rangkuman dari hasil analisis kerja pada bagian sebelumnya dan saran yang perlu diperhatikan untuk pengembangan aplikasi.